This series adds support for bundling multiple firmware images into a single UEFI capsule, driven through mkeficapsule's config file.
It builds on Sughosh Ganu's earlier work adding config-file-driven capsule generation to mkeficapsule[1]. That series produced one payload per capsule; this one extends the parser to group payloads that share the same output capsule file into a single multi-payload capsule, adds a new API to build that capsule, and extends signing so each payload in a multi-payload capsule can be signed independently. [1] https://lore.kernel.org/u-boot/[email protected]/ --- - This series is part of work to bring multi-payload single capsule based capsule update to Qualcomm boards. - However, this series applies to all boards, not just Qualcomm To: [email protected] Cc: Tom Rini <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Kory Maincent <[email protected]> Cc: Sughosh Ganu <[email protected]> Cc: Wojciech Dubowik <[email protected]> Cc: Simon Glass <[email protected]> Cc: Peng Fan <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> --- Balaji Selvanathan (6): tools: mkeficapsule: Add multi-payload capsule creation API tools: mkeficapsule: Enable multi-payload grouping in config parser tools: mkeficapsule: Support signing in multi-payload capsules doc: Document capsule generation through a config file sandbox: capsule: Add a config file for generating capsules test: capsule: Add functional test for multi-payload capsule update Sughosh Ganu (2): tools: mkeficapsule: Add support for parsing capsule params from config file test: capsule: Generate capsules through config file configs/sandbox_defconfig | 8 + doc/develop/uefi/uefi.rst | 112 +++++ .../tests/test_efi_capsule/capsule_gen_binman.dts | 2 + test/py/tests/test_efi_capsule/conftest.py | 11 + .../tests/test_efi_capsule/sandbox_capsule_cfg.txt | 118 ++++++ .../test_efi_capsule/test_capsule_firmware_raw.py | 36 ++ .../test_capsule_firmware_signed_raw.py | 33 ++ tools/Kconfig | 15 + tools/Makefile | 10 +- tools/eficapsule.h | 128 ++++++ tools/mkeficapsule.c | 305 ++++++++++++-- tools/mkeficapsule_parse.c | 464 +++++++++++++++++++++ 12 files changed, 1206 insertions(+), 36 deletions(-) --- base-commit: 574b1adad70a19d95c65e0f37f9c36d94fb5418f change-id: 20260725-mkeficapsule-9c1dd6c05b48 Best regards, -- Balaji Selvanathan <[email protected]>
