beaglebone boot from eMMC

Sulev-Madis Silber (ketas) madis555 at hot.ee
Thu Mar 19 02:36:22 UTC 2015


I boot BBB from eMMC. I align partitions to 4MB, create boot partition
with type 0x0c, size 4MB, that's also set to active. Put MLO,
u-boot.img, ubldr there. Then it all works.

There is known issue where bsdlabel fails. Maybe someone else has any
idea why it now fails. It started failing about the time when the
non-C/H/S partition aligning started working. It's gone after boot and
GEOM says invalid disklabel.
Workaround is that you create UFS directly into slice.

U-Boot should be from sysutils/u-boot-beaglebone

"CCC" is when AM335x SoC tries to boot from UART (serial), using XMODEM.
In BBB it does that if it can't load anything from either eMMC or SD.
It's also possible to reconfigure boot order using BOOT/LCD pins on BBB
headers (like, to put UART first). It's also reason why you should not
use those pins as I/O at boot time.
To boot from serial, install comms/lrzsz then run cu, then use ~C to
execute "dd if=MLO bs=1 skip=520 | lsx -k - && lsx -k u-boot.img". I
have that in easy shell script wrapper. dd is used to strip header for
serial boot. There is also proper headerless MLO/SPL in
sysutils/u-boot-beaglebone 's work/ dir after build (not installed), but
this could be easier.

But eMMC boot should work fine.


More information about the freebsd-arm mailing list