Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Oct 2016 20:21:46 -0400
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        Ross Alexander <rwa@athabascau.ca>, freebsd-arm@freebsd.org
Subject:   Re: Raspberry Pi 3 support
Message-ID:  <20161019002146.GA57025@mutt-hardenedbsd>
In-Reply-To: <2BC88734-CF40-4702-9483-ADEBA23C11F2@bluezbox.com>
References:  <mailman.62.1476446401.6092.freebsd-arm@freebsd.org> <alpine.BSF.2.20.1610170004010.2176@autopsy.pc.athabascau.ca> <20161017140631.GA77580@mutt-hardenedbsd> <20161018194958.GC22296@mutt-hardenedbsd> <2BC88734-CF40-4702-9483-ADEBA23C11F2@bluezbox.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--W/nzBZO5zC0uMSeA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Oct 18, 2016 at 05:01:23PM -0700, Oleksandr Tymoshenko wrote:
>=20
> > On Oct 18, 2016, at 12:49 PM, Shawn Webb <shawn.webb@hardenedbsd.org> w=
rote:
> >=20
> > On Mon, Oct 17, 2016 at 10:06:31AM -0400, Shawn Webb wrote:
> >> On Mon, Oct 17, 2016 at 12:33:27AM -0600, Ross Alexander wrote:
> >>> On Fri Oct 14 22:10:56 UTC 2016, Shawn Webb wrote:
> >>>=20
> >>>> I've documented the steps I took to install FreeBSD on my RPI3:
> >>>>     https://wiki.freebsd.org/arm64
> >>>> I hope I didn't miss anything. It's a wiki, so if I did, feel free to
> >>>> correct it (or let me know and I can correct it, too).
> >>>=20
> >>> I'm referencing https://wiki.freebsd.org/arm64/rpi3 as it seems
> >>> to be "the one".  The following notes are meant to be clarifications
> >>> for people as clueless as myself -
> >>>=20
> >>> You say: "Download all the files from the boot directory in the
> >>> official Raspberry Pi firmware repository on GitHub."  I read that as
> >>>=20
> >>>     newfs_msdos -F 16 /dev/da0s1
> >>>     mount -t msdosfs /dev/da0s1 /mnt0
> >>>     cd /mnt0
> >>>     svn checkout https://github.com/raspberrypi/firmware/trunk/boot/
> >>>     mv boot/* .
> >>>     rm -R boot
> >>>=20
> >>> You say: "Copy $MAKEOBJDIRPREFIX/arm64.aarch64/<svn-checkout-path**>/=
sys/boot/efi/boot1/boot1.efi
> >>> to /mnt/EFI/BOOT/bootaa64.efi".  I read that as
> >>>=20
> >>>     mount -t ufs /dev/da0s2a /mnt1
> >>>     mkdir -p /mnt0/EFI/BOOT
> >>>     cp /mnt1/boot/boot1.efi /mnt0/EFI/BOOT/bootaa64.efi
> >>>=20
> >>> given that /dev/da0s2a is all the stuff from "Building", "World", and
> >>> "Kernel" sections and a "make -s installworld installkernel distribut=
ion
> >>> KERNCONF=3DRPI3 DESTDIR=3D/mnt1 TARGET=3Darm64 TARGET_ARCH=3Daarch64".
> >>>=20
> >>> And hey, guess what: it boots fine :).  No hints as to how many times
> >>> I got it wrong, though.
> >>=20
> >> Hey Ross,
> >>=20
> >> Good catch. What I'll do is add a "prerequisites" section, instructing
> >> on how and where to download the required files. Then I'll refactor th=
at
> >> bit to make better sense.
> >=20
> > Status update for FreeBSD on the RPI3:
> >=20
> > 1) There is now a sysutils/u-boot-rpi3 port. Thanks Diane Bruce!
> > 2) Using clang 3.9.0 + lld in base, one can build and install some ports
> > with a few workarounds. boot1.efi, loader.efi, and the kernel need to
> > come from a non-clang 3.9.0 branch (HEAD).
> > 3) jemalloc has issues on the RPI3, can be worked around by disabling
> > tcache via malloc.conf. Diane Bruce ponders whether this could be
> > related to locking on arm64.
> > 4) linking dynamically-loaded executables (via installing ports entries)
> > has issues
> > 5) SMP support is being actively worked on by Diane Bruce
> > 6) I need to update the documentation to use the u-boot-rpi3 port
> > 7) I need to update the documentation to use crochet now that crochet
> > supports the rpi3 and we have the u-boot-rpi3 port
> >=20
> > All this has been documented in more detail at the RP3 wiki page:
> >=20
> > https://wiki.freebsd.org/arm64/rpi3 <https://wiki.freebsd.org/arm64/rpi=
3>
> >=20
> > I'm going to start researching in more detail the jemalloc and dynamic
> > linking issues this weekend. If someone gets to it sooner than me, then
> > yay! Otherwise, I'm happy to take a gander.
> >=20
> > Again, if anyone has any suggestions for the documentation, please let
> > me know.
>=20
> Thanks for documenting this stuff, Shawn. Just for your information -=20
> I committed new kernel config that should be used instead of RPI3:
> GENERIC-UP. I???ve updated wiki page already.
>=20

Cool! Thanks!

--=20
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

GPG Key ID:          0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE

--W/nzBZO5zC0uMSeA
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJYBryYAAoJEGqEZY9SRW7uPyQQAJXXMrdIzV+Y680IGwOAjzDg
vpTIpP+58VNpbPrnUMesM45y3CeGi/6qZlSbFMwaQ3wQDuNHxwRQJO8t7yksRExV
5EiHuG/qfiGsTjMMiP+Fcg5KSYvxmCI6z96yqKsMphY1Gw1iuAbAPwmZwiGXxcec
e4uXK4NaxgEktYfg3LPFvdNsrSrOWwXdhZMFxGhhzXcl8kVrHEfflgNMnHDYeuIw
qBAjoSNDNXRqEpTfgOt4Ef0SwLQ0fSQTpWqyV37fe1A9LKoEw4TJA05sFVMaBulH
heVf3IDcK4rZhzyqR3AJQ+2LNN7kCrD9jh6V/O2XnDsmE+u/lg088PZmPGiTK7o3
k2evKXwsK2sqj0AEdgS4zBoBxEQZp+vt7x69rzb3KTylUDne9CaJZy6AafvIehVj
4qPqKqtqS2Qb/wwcINxS4btKlKC6UVwffdqoL9l+1ok8WwwBxE6B2GVI2s/LDIr7
Lu92y1LGmfWJNp1GM7Vc8e6I3TvVC9h0QOnFowu/SAKOY+IMx0TJajTw63XxDelp
IDN1UccrJ+BoV+ZmWjRg9dxEHLMcHnIogQYO97DaNx62nWkDXKREc0R5rDGvgE8O
MM4hnyOHoZt0KOr4wrwZmYoca8l5tjkTFhuxP+d00ocL6U8KRhHNByRiqFOoUeI6
wXaS1PPZqIzEfT9Mk6T6
=d1IT
-----END PGP SIGNATURE-----

--W/nzBZO5zC0uMSeA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161019002146.GA57025>