U-boot is intended to replace linux kernel in android boot image(ABL), and it's FIT payload to replace initramfs file. The boot process is similar to boot image with linux: - android bootloader (ABL) unpacks android boot image - ABL sets `linux,initrd-start property` in chosen node in unpacked FDT - ABL sets x0 register to FDT address, and passes control to u-boot - u-boot reads x0 register, and stores it in `prevbl_fdt_addr` env variable - u-boot reads `linux,initrd-start` property, and stores it in `prevbl_initrd_start_addr` In this way, u-boot bootcmd relies on `prevbl_initrd_start_addr` env variable, and boils down to `bootm $prevbl_initrd_start_addr`. If more control on boot process is desired, pack a boot script in FIT image, and put it to default configuration What done: - Rearrange defconfig option order - Add CONFIG_SAVE_PREV_BL_* options - Doc updates: - remove wrong SBOOT memory corruption note, because memory is changed during u-boot bringup process, not by SBOOT - put payload on ramdisk place in abl boot image creation step Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
This patch series adds support for ZFS listing and load to u-boot. To Enable zfs ls and load commands, modify the board specific config file with #define CONFIG_CMD_ZFS Steps to test: 1. After applying the patch, zfs specific commands can be seen in the boot loader prompt using UBOOT #help zfsload- load binary file from a ZFS file system zfsls - list files in a directory (default /) 2. To list the files in zfs pool, device or partition, execute zfsls <interface> <dev[:part]> [POOL/@/dir/file] For example: UBOOT #zfsls mmc 0:5 /rpool/@/usr/bin/ 3. To read and load a file from an ZFS formatted partition to RAM, execute zfsload <interface> <dev[:part]> [addr] [filename] [bytes] For example: UBOOT #zfsload mmc 2:2 0x30007fc0 /rpool/@/boot/uImage References : -- ZFS GRUB sources from Solaris GRUB-0.97 -- GRUB Bazaar repository Jorgen Lundman <lundman at lundman.net> 2012.