The GUID of partitions is sufficient for identification and will stay constant in the lifetime of a boot option. The preceding path of the device-path may change due to changes in the enumeration of devices. Therefore it is preferable to use the short-form of device-paths in load options.
With this series booting via short-form device-paths is reenable. The 'efidebug boot add' command is adjusted to create either short-form or long-form device paths. The check for the EFI System Partition used for capsule updates is corrected. A unit test for the boot manager is added. v2: merge multiple patches to a series fix ESP detection Heinrich Schuchardt (9): efi_loader: export efi_dp_shorten() efi_loader: fix efi_dp_find_obj() efi_loader: efi_dp_find_obj() add protocol check efi_loader: support booting via short-form device-path efi_loader: use short-form DP for load options efi_loader: export efi_system_partition_guid efi_loader: remove efi_disk_is_system_part() efi_loader: move dtbdump.c, initrddump.c to lib/efi_loader test: test UEFI boot manager cmd/efidebug.c | 70 ++- include/efi_loader.h | 12 +- lib/efi_loader/Makefile | 12 + lib/efi_loader/dtbdump.c | 539 ++++++++++++++++++ lib/efi_loader/efi_boottime.c | 22 +- lib/efi_loader/efi_capsule.c | 13 +- lib/efi_loader/efi_device_path.c | 138 +++-- lib/efi_loader/efi_disk.c | 31 +- lib/efi_loader/initrddump.c | 449 +++++++++++++++ lib/efi_selftest/Makefile | 12 - lib/efi_selftest/dtbdump.c | 539 ------------------ lib/efi_selftest/initrddump.c | 449 --------------- test/py/tests/test_efi_bootmgr/conftest.py | 42 ++ .../test_efi_bootmgr/test_efi_bootmgr.py | 31 + 14 files changed, 1232 insertions(+), 1127 deletions(-) create mode 100644 lib/efi_loader/dtbdump.c create mode 100644 lib/efi_loader/initrddump.c delete mode 100644 lib/efi_selftest/dtbdump.c delete mode 100644 lib/efi_selftest/initrddump.c create mode 100644 test/py/tests/test_efi_bootmgr/conftest.py create mode 100644 test/py/tests/test_efi_bootmgr/test_efi_bootmgr.py -- 2.34.1