[PATCH v2 0/6] efi_loader: run bootdev_hunt() to find ESP

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sat Nov 23 22:45:48 CET 2024


Some hard devices need specific routines to scan for block devices,
e.g. NVMe (nvme scan), SCSI (scsi start).

Invoke bootdev_hunt() to find all block devices.

Reviewers complained that PXE boot was executed unexpectedly.
eth_bootdev_hunt() should not execute dhcp_run() as this itself would load
a file and boot it if autostart=yes. Instead just check that there is a
network device.

To fix Gitlab CI issues the following changes were necessary:

In test_extension.py do not assume that extensions have not been loaded
by bootdev hunter in a previous test.

Remove CONFIG_AMIGA_PARTITION from sandbox_deconfig to avoid a timeout.

Remove CONFIG_USB_DWC3 from xilinx_versal_virt_defconfig to avoid a boot
failure.

Add a parameter '-e' to select if UEFI boot options shall be shown by
the bootmenu command.

v2:
	Do not run dhcp_run() in eth_bootdev_hunt().
	In test_extension.py do not assume initial state.
	Remove CONFIG_AMIGA_PARTITION from sandbox_deconfig.
	Remove CONFIG_USB_DWC3 from xilinx_versal_virt_defconfig.
	Add a parameter '-e' to bootmenu command.

Heinrich Schuchardt (6):
  test: fix test_extension.py
  configs: sandbox_deconfig: remove CONFIG_AMIGA_PARTITION
  configs: xilinx_versal_virt: disable USB_DWC3
  net: eth_bootdev_hunt() must not try to boot
  cmd: bootmenu: add parameter -e for UEFI boot options
  efi_loader: run bootdev_hunt() to find ESP

 cmd/bootmenu.c                       | 39 +++++++++++++++++++++-------
 configs/sandbox_defconfig            |  1 -
 configs/xilinx_versal_virt_defconfig |  2 --
 doc/usage/cmd/bootmenu.rst           | 13 +++++++---
 lib/efi_loader/efi_setup.c           |  8 ++++++
 net/eth_bootdev.c                    | 30 ++++++++++++---------
 test/py/tests/test_extension.py      |  4 ++-
 7 files changed, 69 insertions(+), 28 deletions(-)

-- 
2.45.2



More information about the U-Boot mailing list