Booting from USB on RPi3

Jonathan Chen jonc at chen.org.nz
Mon Apr 20 22:30:46 UTC 2020


On Tue, 21 Apr 2020 at 10:07, bob prohaska <fbsd at www.zefox.net> wrote:
>
> On Tue, Apr 21, 2020 at 07:31:40AM +1200, Jonathan Chen wrote:
> >
> > This is how I got my RPI3 running 12-STABLE to boot off USB. It does
> > require a microSD card with u-boot, and the loader.efi built sometime
> > after Sep 2019 though. However, my root-filesystem (and swap) lives on
> > an external USB drive.
> >
> > 1. Copy the loader.efi to EFI/BOOT/bootaa64.efi
> >
> > 2. Create a text file: EFI/FreeBSD/loader.env, this file contains a
> > one-line directive to loader(8) on where to find a kernel to boot.
> > Mine contains:
> >   rootdev=disk1p1:
> > The disk entry should be the same as what loader(8) expects with your
> > USB disk setup. Mine has a GPT partitioning scheme, with the root-fs
> > on partition-1.
> >
> > 3. All /etc/fstab entries should use symbolic name entries instead of da0*. eg:
> > 7:27am# cat /etc/fstab
> > # Device                Mountpoint      FStype  Options         Dump    Pass#
> > /dev/gpt/topaz-root     /               ufs     rw              1       1
> > /dev/gpt/topaz-swap     none            swap    sw              0       0
> >
> > Hope this helps.
> > --
>
> Where is the kernel loading from? I gather it's been long-time
> practice to load the kernel from microSD and then mount the USB
> device as root; it that what you're doing? It appears that using
> usbboot (correctly!) would eliminate that extra step.

The kernel loads from the external USB drive. The only thing on the
microSD card is the renamed loader.efi and the loader.env file.

Cheers.
-- 
Jonathan Chen <jonc at chen.org.nz>


More information about the freebsd-arm mailing list