[PATCH v2 0/9] efi_loader: booting via short-form device-path

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sat Mar 19 10:11:39 CET 2022


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



More information about the U-Boot mailing list