EFI Bootmeth
The EFI bootmeth allows U-Boot to boot an operating system by loading and running an EFI application from a disk or network device. This follows the approach used by many Linux distributions to provide a standard boot path.
When invoked on a block device, distro_efi_try_bootflow_files() searches for
the architecture-specific EFI binary in /EFI/BOOT/ (e.g.
bootaa64.efi). If found, the bootflow is marked as ready. The function also
tries to locate a matching device tree using efi_get_distro_fdt_name().
When invoked on a network device, distro_efi_read_bootflow_net() performs a
DHCP request with PXE vendor-class and architecture identifiers, then retrieves
the EFI binary via TFTP. A device tree is also fetched if available.
At boot time, distro_efi_boot() loads the EFI binary into memory (for block
devices) and calls efi_bootflow_run() to execute it via the EFI loader.
The compatible string “u-boot,distro-efi” is used for the driver. It is present if CONFIG_BOOTMETH_EFI is enabled.
See UEFI on U-Boot for general UEFI implementation details.