Date: Tue, 18 Oct 2016 17:01:23 -0700 From: Oleksandr Tymoshenko <gonzo@bluezbox.com> To: Shawn Webb <shawn.webb@hardenedbsd.org> Cc: Ross Alexander <rwa@athabascau.ca>, freebsd-arm@freebsd.org Subject: Re: Raspberry Pi 3 support Message-ID: <2BC88734-CF40-4702-9483-ADEBA23C11F2@bluezbox.com> In-Reply-To: <20161018194958.GC22296@mutt-hardenedbsd> 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>
index | next in thread | previous in thread | raw e-mail
> On Oct 18, 2016, at 12:49 PM, Shawn Webb <shawn.webb@hardenedbsd.org> wrote: > > 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: >>> >>>> 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). >>> >>> 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 - >>> >>> You say: "Download all the files from the boot directory in the >>> official Raspberry Pi firmware repository on GitHub." I read that as >>> >>> 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 >>> >>> 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 >>> >>> mount -t ufs /dev/da0s2a /mnt1 >>> mkdir -p /mnt0/EFI/BOOT >>> cp /mnt1/boot/boot1.efi /mnt0/EFI/BOOT/bootaa64.efi >>> >>> given that /dev/da0s2a is all the stuff from "Building", "World", and >>> "Kernel" sections and a "make -s installworld installkernel distribution >>> KERNCONF=RPI3 DESTDIR=/mnt1 TARGET=arm64 TARGET_ARCH=aarch64". >>> >>> And hey, guess what: it boots fine :). No hints as to how many times >>> I got it wrong, though. >> >> Hey Ross, >> >> 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 that >> bit to make better sense. > > Status update for FreeBSD on the RPI3: > > 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 > > All this has been documented in more detail at the RP3 wiki page: > > https://wiki.freebsd.org/arm64/rpi3 <https://wiki.freebsd.org/arm64/rpi3> > > 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. > > Again, if anyone has any suggestions for the documentation, please let > me know. Thanks for documenting this stuff, Shawn. Just for your information - I committed new kernel config that should be used instead of RPI3: GENERIC-UP. I’ve updated wiki page already.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2BC88734-CF40-4702-9483-ADEBA23C11F2>
