EFI Boot Manager Bootmeth
The EFI boot-manager bootmeth delegates boot-device selection to the UEFI boot
manager. Rather than scanning filesystems for a specific binary, it checks
whether a BootOrder EFI variable exists and, if so, marks the bootflow as
ready.
This is a global bootmeth: it is not tied to a particular bootdev but is
invoked once during each scan. The BOOTMETHF_GLOBAL flag is set at bind
time, and the global priority is BOOTDEVP_6_NET_BASE so that it runs just
before very slow devices, giving filesystem-based methods a chance to complete
first.
During discovery, efi_mgr_read_bootflow() initialises the EFI object list
and looks up the BootOrder variable. If the variable is present the
bootflow is marked ready; otherwise the method is skipped.
At boot time, efi_mgr_boot() calls efi_bootmgr_run() which walks the
BootOrder list and launches the first viable EFI application. No file
loading is done by the bootmeth itself.
The compatible string “u-boot,efi-bootmgr” is used for the driver. It is present if CONFIG_BOOTMETH_EFI_BOOTMGR is enabled.
See UEFI on U-Boot for general UEFI implementation details and eficonfig command for configuring boot entries.