RPi4 - Booting from mSD with USB storage

From: Jordan Bass <jordan_at_jbass.io>
Date: Sat, 03 Jul 2021 10:11:35 UTC
Hi,

I've installed 13.0-RELEASE on a micro SD card to use on a 8GB Raspberry Pi 4. The Raspberry Pi 4 launches u-boot from the mSD card successfully. Without any USB devices attached, u-boot will boot FreeBSD from the mSD card successfully. When I attach an externally powered USB SDD enclosure containing 2 drives and try to boot, u-boot will fail to boot FreeBSD from the micro SD card. It will then try to boot from USB and fail because they are just ZFS storage. Finally, u-boot will endlessly try to boot over the network.

To work around the problem, I can detach the USB drives, power on the Pi, wait a few seconds, and then attach the USB drives.

I've tried the 2021-04 build of u-boot, and that will boot from mSD with the USB drives attached, but only because it fails to detect the USB devices, and the ZFS pools will not be imported on boot.

Does anyone have any suggestions for configuring u-boot to behave in the way I expect? I want to boot from mSD, even when USB drives are attached.

Thanks,

Jordan