Difference between revisions of "Beagleboard:U-boot partitioning layout 2.0"

From eLinux.org
Jump to: navigation, search
m (Boot Partition)
m (Rootfs Partition)
Line 27: Line 27:
 
== Rootfs Partition ==
 
== Rootfs Partition ==
 
This can be partition 1 -> 7
 
This can be partition 1 -> 7
  ext4 rootfs: /
+
  rootfs: / (ext2/ext3/ext4) (btrfs not supported, as we need u-boot support first)
 
  /boot/uEnv.txt (priority 2)
 
  /boot/uEnv.txt (priority 2)
 
  /boot/vmlinuz-$(uname -r)
 
  /boot/vmlinuz-$(uname -r)

Revision as of 08:06, 11 July 2014

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

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

http://rcn-ee.net/deb/testing/2014-07-03/bone-debian-jessie-console-2014-07-03-4gb.img.xz