[RFC 0/8] boot: run EFI boot manager after block devices
    Heinrich Schuchardt 
    heinrich.schuchardt at canonical.com
       
    Mon Apr 21 18:25:47 CEST 2025
    
    
  
Up to now the EFI boot manager is running as a global boot method before
scanning block devices. This leads to failures to boot from unprobed
devices. Scanning all devices before running the EFI boot manager is
not wanted by some board maintainers.
Introduce a dummy bootdev with a priority between block devices and
network devices.
Add the dummy bootdeb to the QEMU ARM environment.
Do not run the EFI bootdev as we must not run EFI\BOOT\BOOTARCH.EFI
before the boot manager.
Heinrich Schuchardt (8):
  boot: EFI boot manager does not depend on BootOrder
  boot: BOOTMETH_DISTRO should select BOOTMETH_EFI_BOOTMGR
  boot: make BOOTMETH_EFILOADER default=n
  boot: introduce BOOTDEVP_6_EFI
  boot: prevent recursion in bootdev_hunt_drv()
  boot: make EFI boot manager bootmeth non-global
  efi_loader: create EFI BOOTDEV
  board/emulation/qemu-arm: enable EFI boot manager
 board/emulation/qemu-arm/qemu-arm.env   |   2 +-
 board/emulation/qemu-sbsa/qemu-sbsa.env |   2 +-
 boot/Kconfig                            |   6 +-
 boot/bootdev-uclass.c                   |   2 +-
 boot/bootmeth_efi_mgr.c                 |  24 +-----
 include/bootdev.h                       |  10 ++-
 include/dm/uclass-id.h                  |   1 +
 lib/efi_loader/Makefile                 |   1 +
 lib/efi_loader/efi_bootdev.c            | 102 ++++++++++++++++++++++++
 net/eth_bootdev.c                       |   4 +-
 test/boot/bootflow.c                    |   2 +-
 11 files changed, 124 insertions(+), 32 deletions(-)
 create mode 100644 lib/efi_loader/efi_bootdev.c
-- 
2.48.1
    
    
More information about the U-Boot
mailing list