Booting FreeBSD on BeagleBone Black from microSD by default
Ed Maste
emaste at freebsd.org
Wed Jun 29 20:18:57 UTC 2016
On 29 June 2016 at 00:14, Tim Kientzle <tim at kientzle.com> wrote:
>
> If I remember correctly, the uboot provided on the stock eMMC image was configured to see if the SD card had a Linux kernel and load the kernel from that if it was there. If the SD did not have a Linux kernel, it would fall back to eMMC.
Yeah. After looking a little more I think the eMMC uboot will read
uEnv.txt from the SD card and so it should somehow be possible to
chain to a next stage that way, but it does not support UFS and does
not have a 'bootelf' command.
It is possible to have the eMMC uboot load something from a FAT file
system on the SD card and execute it (with something like fatload mmc
1 <addr> <file>; go <addr>) but I don't yet know enough about the boot
path here to build a suitable 3rd stage uboot.
1. eMMC SPL
2. eMMC u-boot, loads uEnv.txt from SD
3. SD u-boot
4. SD ubldr
5. kernel
> Of course, if you’re willing to hold the boot switch, you can boot from SD without changing the eMMC.
Right. My goal here would be to be able to produce a SD card image
that works out of the box, without using the boot switch or modifying
the eMMC in any way.
My interest in being able to boot that way comes from a BSDCan talk[1]
by Edicarla Andrade and Vinícius Zavam. They have FreeBSD on a BBB
controlling a hexapod robot, but they weren't allowed to modify the
BBB (provided by their lab) in any way. So they have to press the boot
switch every time they power it up. It's a shame that they're doing
something interesting with FreeBSD, yet have this minor but annoying
boot issue.
[1] https://www.bsdcan.org/2016/schedule/events/658.en.html
More information about the freebsd-arm
mailing list