Beagleboard:U-boot partitioning layout 2.0
Goal: to create a more distro friendly default bootloader installed on the BeagleBone Black eMMC.
Based on: https://wiki.linaro.org/Platform/DeviceTreeConsolidation
Starting with u-boot: v2014.07 this will be default:
BeagleBone/BeagleBone Black:
https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2014.07-rc4/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
BeagleBoard
https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2014.07-rc4/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch
PandaBoard
https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2014.07-rc4/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch
omap5_uevm
https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2014.07-rc4/0001-omap5_common-uEnv.txt-bootz-n-fixes.patch
Contents
Partition layout
Boot Partition
Usually Partition 1, for bootrom's that can only read fat partitions.
xMb fat16 (unmounted usually shared as a usb gadget) /MLO (MLO might be hidden) /u-boot.img (u-boot.img might be thrown into ext4) /uEnv.txt (priority 1) (Optional)
Rootfs Partition
This can be partition 1 -> 7
rootfs: / (ext2/ext3/ext4) (btrfs not supported, as we need u-boot support first) /boot/uEnv.txt (priority 2) /boot/vmlinuz-$(uname -r) /boot/initrd.img-$(uname -r) (optional, but needed for uuid cases) /boot/dtbs/$(uname -r)/*.dtb (or one of the 7 locations below)
u-boot dtb search order
(1) Mainline: /boot/dtbs/$(uname -r)/*.dtb (2) Debian: /usr/lib/linux-image-$(uname -r)/*.dtb (3) Ubuntu: /lib/firmware/$(uname -r)/device-tree/*.dtb (4) Fedora: /boot/dtb-$(uname -r)/*.dtb (5) archlinux: /boot/dtbs/*.dtb (6) openSUSE: /boot/dtb/*.dtb (7) OpenEmbedded: /boot/*.dtb
uEnv.txt Boot Partition /uEnv.txt
set "uenvcmd" and you have full control
uEnv.txt Rootfs Partition /boot/uEnv.txt
Simple:
uname_r = $(uname -r)
Optional:
dtb = force "other" *.dtb file cmdline = stuff passed to command line "quiet" uuid = (needs initrd.img-$(uname -r) in most cases) rootfstype = default(ext4) optargs = default(blank)
Example Image
https://rcn-ee.net/deb/testing/2014-07-10/console/bone-debian-7.5-console-armhf-2014-07-10-2gb.img.xz