# This task is a bit motivated by Simon's discussion about bootflow[1]. Booting UEFI system from removable media is currently supported by distro_bootcmd script. But the behavior should be best implemented in UEFI Boot Manager. (Historically, the boot manager was added later than the support for removable media boot. So it is a matter of integration.)
Here, "removable media" support means: 3.5.1.1 Removable Media Boot Behavior To generate a file name when none is present in the FilePath, the firmware must append a default file name in the form \EFI\BOOT\BOOT{machine type short-name}.EFI where machine type short-name defines a PE32+ image format architecture. With this patch set applied, the boot media order can also be defined by "BooOrder" variable, which the UEFI specification expects. You can find an example command usage in patch#3. Please note that this ehnancement improves the compliance to the specification and that it won't hurt any backward compatibility, if you don't want to use this feature, as long as a removable-related script in distro_bootcmd remains unchanged. The restriction (or drawback?) here is that we need to run all the "scan" commands before invoking the boot manager. [1] https://lists.denx.de/pipermail/u-boot/2021-August/458384.html RFC (Nov 09, 2021) * initial proposal AKASHI Takahiro (3): efi_loader: export efi_locate_device_handle() efi_loader: bootmgr: add booting from removable media cmd: efidebug: handle booting from removable media cmd/efidebug.c | 46 +++++++++++++++++++++---- include/efi_loader.h | 4 +++ lib/efi_loader/efi_bootmgr.c | 65 ++++++++++++++++++++++++++++++++++- lib/efi_loader/efi_boottime.c | 7 ++-- 4 files changed, 111 insertions(+), 11 deletions(-) -- 2.33.0