[PATCH v2 0/3] efi_loader: bootmgr: fix a problem in loading an image from a short-path
AKASHI Takahiro
takahiro.akashi at linaro.org
Thu May 12 04:29:00 CEST 2022
This is a reworked version of v1[1].
If a (root) file system does not have any partition table, the generated
boot option (BOOTxxxx) by the command,
=> efidebug boot add -b ...
does not work because a device path in the option is in a short-form and
does not contain any valid media device path which should expectedly support
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.
[1] https://lists.denx.de/pipermail/u-boot/2022-April/482697.html
Test:
=====
* Azure CI passed[2]
[2] https://dev.azure.com/u-boot/u-boot/_build/results?buildId=4220&view=results
TODO:
=====
The other types of short-form device paths, USB_CLASS and HARD_DRIVE, should
also be implemented in boot manager rather than LoadImage API so as to more
properly comply with the UEFI specification.
See "3.1.2 Load Option Processing".
Change history:
===============
v2 (May, 12, 2022)
* fully re-write the code to implement the feature in boot manager (patch#2)
* try removable media first (patch#1,#2)
* add a test case (patch#3)
v1 (Apr 28, 2022)
* initial patch
AKASHI Takahiro (3):
efi_loader: disk: add efi_disk_is_removable()
efi_loader: bootmgr: fix a problem in loading an image from a
short-path
test: efi_bootmgr: add a test case for a short-form path
include/efi_loader.h | 3 +
lib/efi_loader/efi_bootmgr.c | 98 ++++++++++++++++++-
lib/efi_loader/efi_disk.c | 27 +++++
test/py/tests/test_efi_bootmgr/conftest.py | 25 +++++
.../test_efi_bootmgr/test_efi_bootmgr.py | 25 +++++
5 files changed, 174 insertions(+), 4 deletions(-)
--
2.33.0
More information about the U-Boot
mailing list