u-boot/boot
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_ab.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
boot_fit.c treewide: Drop image_header_t typedef 2022-09-29 16:07:57 -04:00
bootdev-uclass.c bootstd: Add a way to set up a bootflow 2022-10-31 11:02:44 -04:00
bootflow.c bootstd: Add a way to set up a bootflow 2022-10-31 11:02:44 -04:00
bootm.c net: Remove eth_legacy.c 2022-12-07 16:04:17 -05:00
bootm_os.c treewide: Drop image_header_t typedef 2022-09-29 16:07:57 -04:00
bootmeth-uclass.c bootstd: Add a way to set up a bootflow 2022-10-31 11:02:44 -04:00
bootmeth_distro.c Rename disto_[pxe_]getfile to distro_[pxe_]getfile 2022-08-26 16:33:48 -06:00
bootmeth_efi.c bootstd: Add an implementation of EFI boot 2022-04-25 10:00:04 -04:00
bootmeth_efi_mgr.c bootstd: Allow EFI bootmgr to support an invalid bootflow 2022-08-12 08:17:10 -04:00
bootmeth_pxe.c Rename disto_[pxe_]getfile to distro_[pxe_]getfile 2022-08-26 16:33:48 -06:00
bootmeth_sandbox.c bootstd: Add a sandbox bootmeth driver 2022-04-25 10:00:04 -04:00
bootmeth_script.c bootstd: Add an implementation of script boot 2022-04-25 10:00:04 -04:00
bootretry.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
bootstd-uclass.c bootstd: Drop the system bootdev 2022-08-12 08:17:11 -04:00
common_fit.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
fdt_region.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
image-android-dt.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
image-android.c treewide: Drop image_header_t typedef 2022-09-29 16:07:57 -04:00
image-board.c global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
image-cipher.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
image-fdt.c boot: Pass the correct FDT to the EVT_FT_FIXUP event 2022-10-17 21:17:13 -06:00
image-fit-sig.c mkimage: fit: Fix signing of configs with external data 2022-10-26 11:36:06 -04:00
image-fit.c image: Allow loading a FIT image for a particular phase 2022-10-31 11:02:45 -04:00
image-host.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
image-pre-load.c boot: image-pre-load: Check environment for location of signature info 2022-10-11 15:40:48 -04:00
image-sig.c Create a new boot/ directory 2021-11-11 19:01:56 -05:00
image.c tools: mkimage: add new image type "fdt_legacy" 2022-12-08 09:29:02 -05:00
Kconfig global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
Makefile vbe: Move OS implementation into a separate file 2022-10-31 11:03:36 -04:00
pxe_utils.c cmd: pxe: support INITRD and FDT selection with FIT 2022-12-12 14:03:12 -05:00
vbe.c boot: fix vbe_find_first_device() 2022-08-26 16:32:59 -06:00
vbe_request.c vbe: Support reading the next SPL phase via VBE 2022-10-31 11:03:18 -04:00
vbe_simple.c vbe: Move OS implementation into a separate file 2022-10-31 11:03:36 -04:00
vbe_simple.h vbe: Move OS implementation into a separate file 2022-10-31 11:03:36 -04:00
vbe_simple_fw.c vbe: Record which phases loaded using VBE 2022-10-31 11:04:00 -04:00
vbe_simple_os.c vbe: Add info about the VBE device to the fwupd node 2022-10-31 11:04:00 -04:00