Since the commit d5ba6188df ("cmd: pxe_utils: Check fdtcontroladdr
in label_boot") the FDT or the FDTDIR label is required in extlinux.conf
and the fallback done by bootm command when only the device tree present
in this command parameters is no more performed when FIT is used for
kernel.
When the label FDT or FDTDIR are absent or if the device tree file is
absent, the PXE command in U-Boot uses the default U-Boot device tree
selected by fdtcontroladdr = gd->fdt_blob, it is the "Scenario 3".
With this scenario the bootm FIP fallback is no more possible with
the extlinux.conf when only "kernel" label is present and is a FIP:
kernel <path>#<conf>[#<extra-conf[#...]]
As the U-Boot FDT is always provided in the third bootm argument,
the device tree found in FIP is not used as fallback, it was done
previously in boot_get_fdt().
This patch adds a new field kernel_label to save the full kernel label.
The FDT bootm parameters use the kernel address (to avoid to load a
second time the same FIP) and the config when this full label is reused
for "fdt" or "initrd" label.
This FIP support in extlinux.conf is restored when the "FDT" label
can be found and select the same FIP (identical file and configuration):
kernel <path>#<conf>[#<extra-conf[#...]]
fdt <path>#<conf>[#<extra-conf[#...]]
The patch add also this possibility for initrd.
initrd <path>#<conf>[#<extra-conf[#...]]
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
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.