u-boot/doc
Patrick Delaunay a5dacef738 cmd: pxe: support INITRD and FDT selection with FIT
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>
2022-12-12 14:03:12 -05:00
..
android Create a new boot/ directory 2021-11-11 19:01:56 -05:00
api doc: documentation of EFI driver binding protocol 2022-10-06 22:54:57 +02:00
arch sandbox: Rework how SDL is enabled / disabled 2022-12-05 16:11:50 -05:00
board global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
build sandbox: Rework how SDL is enabled / disabled 2022-12-05 16:11:50 -05:00
chromium Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
develop global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
device-tree-bindings global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
imx global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
media doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
mvebu WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
sphinx doc: update doc/sphinx/requirements.txt 2022-03-25 08:59:49 -04:00
sphinx-static doc: Remove duplicated documentation directory 2019-06-20 10:57:08 -04:00
SPI sandbox: update documents regarding spi_sf 2020-05-29 20:55:45 -06:00
SPL Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
uImage.FIT image: Allow loading a FIT image for a particular phase 2022-10-31 11:02:45 -04:00
usage global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
.gitignore doc: Add .gitignore for the Sphinx build output directory 2019-07-24 14:15:37 -04:00
bounces patman: add support for omitting bouncing addresses 2017-09-11 21:43:58 -06:00
conf.py doc: fix build with sphinx 5.0 and later. 2022-11-16 08:34:06 +01:00
dumpimage.1 doc: Add man page for dumpimage 2022-07-13 20:05:49 +02:00
feature-removal-schedule.txt treewide: mem: Move mtest related defines to Kconfig 2020-05-08 12:02:56 -04:00
git-mailrc git-mailrc: remove invalid entry 'efi' 2022-08-13 11:09:48 +02:00
I2C_Edge_Conditions
index.rst doc: move i.MX7D/i.MX8MM A/B booting to board specific 2021-08-17 17:24:07 +02:00
kwboot.1 Makefile: Rename u-boot-spl.kwb to u-boot-with-spl.kwb 2022-11-07 07:17:55 +01:00
Makefile doc: Build documentation in parallel 2022-08-26 16:32:59 -06:00
mkeficapsule.1 mkeficapsule: Add support for setting OEM flags in capsule header 2022-10-31 14:47:33 -04:00
mkimage.1 doc: mkimage: Further document -o and -R 2022-07-13 20:05:49 +02:00
README.arm-caches doc: ARM: Use the right function name 2015-01-14 11:37:39 -05:00
README.arm-relocation global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
README.armada-secureboot Makefile: Rename u-boot-spl.kwb to u-boot-with-spl.kwb 2022-11-07 07:17:55 +01:00
README.asn1 doc: add README for asn1 compiler and decoder 2019-12-06 16:44:20 -05:00
README.atmel_mci global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.atmel_pmecc ARM: at91: Convert SPL_GENERATE_ATMEL_PMECC_HEADER to Kconfig 2019-01-21 08:36:11 -05:00
README.autoboot autoboot: Rename CONFIG_MENUKEY to CONFIG_AUTOBOOT_MENUKEY 2019-08-02 11:19:14 -04:00
README.bcm7xxx board: arm: Add support for Broadcom BCM7445 2018-07-10 16:55:57 -04:00
README.bcmns3 doc: add README doc for bcmns3 platform 2020-07-29 10:37:11 -04:00
README.bitbangMII
README.bootcount bootcount: clarify documentation 2022-03-23 07:27:38 +01:00
README.boston boston: Introduce support for the MIPS Boston development board 2016-09-21 16:24:36 +02:00
README.cfi global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.commands.itest
README.commands.spl WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
README.console treewide: convert bd_t to struct bd_info manually 2020-07-17 10:46:44 -04:00
README.davinci global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.davinci.nand_spl
README.dfutftp WS cleanup: remove excessive empty lines 2021-09-30 08:08:56 -04:00
README.displaying-bmps
README.dns
README.enetaddr net: Always build the string_to_enetaddr() helper 2019-12-09 09:47:41 -06:00
README.esbc_validate SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.ext4 fs: Migrate ext4 to Kconfig 2018-01-22 16:43:30 -05:00
README.falcon WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
README.fec_mxc net: fec_mxc: Drop CONFIG_FEC_XCV_TYPE 2022-03-18 12:48:17 -04:00
README.fsl-ddr post: Migrate to Kconfig 2022-12-05 16:11:50 -05:00
README.fsl-dpaa armv8/ls1043a: Add Fman support 2015-10-29 10:34:01 -07:00
README.fsl-esdhc Move eSDHC adapter card identification to board files 2020-07-27 14:16:28 +05:30
README.fsl-hwconfig
README.fsl-trustzone-components armv8: LS2080A: Rename LS2085A to reflect LS2080A 2015-11-30 08:53:04 -08:00
README.fsl_iim Convert CONFIG_FSL_IIM to Kconfig 2022-12-05 16:06:43 -05:00
README.fuse
README.generic-board treewide: convert bd_t to struct bd_info manually 2020-07-17 10:46:44 -04:00
README.generic_usb_ohci global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.gpio dt-bindings: gpio: alignment with kernel v5.3 2020-04-16 23:06:54 -04:00
README.gpt cmd: gpt: Add option to write GPT partitions to environment variable 2021-05-04 12:52:46 -04:00
README.Heterogeneous-SoCs powerpc/mpc85xx: Add DSP side awareness for Freescale Heterogeneous SoCs 2015-03-04 10:15:29 -08:00
README.hwconfig Convert CONFIG_HWCONFIG to Kconfig 2022-12-05 16:07:12 -05:00
README.i2c i2c: Add a mux for GPIO-based I2C bus arbitration 2015-08-05 21:06:10 -06:00
README.iomux SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.JFFS2_NAND README: Drop unused JFFS2 options 2016-10-06 20:40:26 -04:00
README.kconfig Revert "Revert "global: Remove CONFIG_SYS_EXTRA_OPTIONS support"" 2022-08-05 11:47:56 -04:00
README.kwbimage
README.LED powerpc, 8xx: remove support for 8xx 2017-06-12 08:37:55 -04:00
README.link-local net: cosmetic: Fix checkpatch.pl failures in net.c 2015-04-18 11:11:35 -06:00
README.malta Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.marvell Revert "arm64: dts: a3720: add support for espressobin with populated emmc" 2020-12-07 07:11:37 +01:00
README.mediatek doc: README.mediatek: Add a simple README for MediaTek 2018-11-28 23:04:54 -05:00
README.memory-test
README.mpc83xx.ddrecc
README.mpc83xxads README: Drop CONFIG_MPC8349ADS 2016-10-06 20:40:51 -04:00
README.mpc85xx global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.mpc85xx-sd-spi-boot Fix URLs to old freescale git repos 2022-03-28 08:22:17 -04:00
README.mpc85xx-spin-table Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.mpc85xxcds Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.multi-dtb-fit doc: multi-dtb-fit: Remove double underscores 2020-07-17 10:47:19 -04:00
README.mxc_ocotp
README.nand global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.odroid WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
README.OFT
README.omap-ulpi-viewport
README.omap3 global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
README.pblimage ppc: Remove corenet_ds boards 2022-08-20 21:18:15 -04:00
README.pcap WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
README.POST post: Migrate to Kconfig 2022-12-05 16:11:50 -05:00
README.power-framework
README.pxe cmd: pxe: support INITRD and FDT selection with FIT 2022-12-12 14:03:12 -05:00
README.ramboot-ppc85xx powerpc: mpc85xx: Convert CONFIG_SYS_CCSRBAR_DEFAULT to Kconfig option 2016-12-02 08:52:34 -08:00
README.rmobile ARM: rmobile: Add R8A77965 M3NULCB support 2019-04-09 18:19:10 +02:00
README.rockchip doc: rockchip: puma: update build and flash instructions 2021-12-24 14:53:31 +08:00
README.rockusb usb: rockchip: implement K_FW_LBA_ERASE_10 command 2018-08-08 22:22:07 +02:00
README.s5p4418 arm: add (default) config for nanopi2 board 2020-07-29 08:43:40 -04:00
README.s5pc1xx
README.sata Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.sched
README.scrapyard scrapyard: Delete this file and script 2019-09-19 12:54:29 -04:00
README.serial_multi global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
README.sha1 Drop references to MAKEALL in the documentation 2016-07-31 19:37:08 -06:00
README.silent Convert CONFIG_SYS_DEVICE_NULLDEV to Kconfig 2020-08-23 13:43:10 -04:00
README.SNTP
README.socfpga arm: socfpga: arria10: Add qts-filter for Arria10 socfpga 2020-10-09 17:53:14 +08:00
README.splashprepare splash: Use splashfile instead of location->name 2019-05-20 11:55:42 +02:00
README.srio-pcie-boot-corenet
README.standalone nds32: Remove the architecture 2022-04-25 16:04:05 -04:00
README.t1040-l2switch drivers: net: vsc9953: Add LAG support 2016-01-28 12:22:19 -06:00
README.tee Documentation: tee uclass and op-tee driver 2018-10-07 10:47:38 -04:00
README.ti-secure doc: Update info on using K3 secure devices 2019-04-26 17:51:51 -04:00
README.TPL cosmetic: Fix spelling and whitespace errors 2019-12-03 08:43:23 -05:00
README.ubi ubi: Add "skipcheck" command to set/clear this bit in the UBI volume hdr 2019-10-16 05:42:36 +02:00
README.ubispl spl: Lightweight UBI and UBI fastmap support 2016-07-22 09:53:00 -04:00
README.ublimage
README.udp net: add a generic udp protocol 2020-09-30 16:55:03 -04:00
README.unaligned-memory-access.txt
README.uniphier ARM: uniphier: enable distro boot 2018-07-25 08:47:53 +09:00
README.update cmd: drop fitupd command 2020-07-16 12:37:01 +02:00
README.usb usb: doc: Fix spelling issues in README.usb 2021-11-15 14:33:33 -05:00
README.vf610
README.video video: Add information about using TrueType fonts 2018-12-28 12:26:58 +01:00
README.VLAN
README.VSC3316-3308
README.watchdog nds32: Remove the architecture 2022-04-25 16:04:05 -04:00
README.zfs

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.