public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 0/7] Integrate EFI capsule tasks into u-boot's build flow
@ 2023-06-13 10:37 Sughosh Ganu
  2023-06-13 10:38 ` [PATCH 1/7] capsule: authenticate: Embed capsule public key in platform's dtb Sughosh Ganu
                   ` (6 more replies)
  0 siblings, 7 replies; 50+ messages in thread
From: Sughosh Ganu @ 2023-06-13 10:37 UTC (permalink / raw)
  To: u-boot
  Cc: Heinrich Schuchardt, Ilias Apalodimas, Simon Glass, Michal Simek,
	Takahiro Akashi


This patchset aims to bring two capsule related tasks under the u-boot
build flow.

One is the embedding of the public key into the platform's dtb as part
of dtb' build. The public key is in the form of an EFI Signature
List(ESL) file and is used for capsule authentication. This is
achieved at the time of the dtb generation, with the path to the ESL
file being provided through a Kconfig
symbol(CONFIG_EFI_CAPSULE_ESL_FILE).

Changes have also been made to the test flow so that the keys used for
signing the capsule, and the ESL file, are generated prior to invoking
the u-boot's build, which enables embedding the ESL file into the dtb
as part of the u-boot build flow.

The other task is to add a make target for generating capsules. This
is being achieved by adding support for parsing a config file to get
the capsule generation parameters. Multiple payloads can be specified,
resulting in generation of multiple capsules with a single invocation
of the command. The path to the config file is to be specified through
a Kconfig symbol(CONFIG_EFI_CAPSULE_CFG_FILE).

Changes have also been made to the efi capsule test setup, whereby,
with the above config symbol having been populated, the capsule files
are generated through the make capsule command. The requisite config
file has been placed under the test/py/tests/test_efi_capsule/
directory, which results in generation of the same set of capsule
files.

Currently, the capsule authentication feature is tested on the sandbox
and sandbox_flattree variants. The capsule generation through config
file is enabled for the sandbox variant, with the sandbox_flattree
variant generating capsules through the command-line parameters.

The document has been updated to reflect the above changes.

Sughosh Ganu (7):
  capsule: authenticate: Embed capsule public key in platform's dtb
  test: py: Generate capsule keys prior to building u-boot
  doc: capsule: Document the new mechanism to embed ESL file into dtb
  tools: mkeficapsule: Add support for parsing capsule params from
    config file
  Makefile: Add a target for building capsules
  test: efi_capsule: Test capsule generation from config file
  doc: Add documentation to describe capsule config file format

 Makefile                                      |   9 +
 configs/sandbox_defconfig                     |   2 +
 configs/sandbox_flattree_defconfig            |   1 +
 doc/develop/uefi/uefi.rst                     |  83 ++++-
 lib/efi_loader/Kconfig                        |  11 +
 scripts/Makefile.lib                          |   8 +
 scripts/embed_capsule_key.sh                  |  25 ++
 test/py/conftest.py                           |  64 ++++
 test/py/tests/test_efi_capsule/conftest.py    | 144 ++++----
 .../test_efi_capsule/sandbox_capsule_cfg.txt  |  75 ++++
 test/py/tests/test_efi_capsule/signature.dts  |  10 -
 tools/Kconfig                                 |   9 +
 tools/Makefile                                |   1 +
 tools/eficapsule.h                            | 110 ++++++
 tools/mkeficapsule.c                          | 106 ++++--
 tools/mkeficapsule_parse.c                    | 345 ++++++++++++++++++
 16 files changed, 866 insertions(+), 137 deletions(-)
 create mode 100755 scripts/embed_capsule_key.sh
 create mode 100644 test/py/tests/test_efi_capsule/sandbox_capsule_cfg.txt
 delete mode 100644 test/py/tests/test_efi_capsule/signature.dts
 create mode 100644 tools/mkeficapsule_parse.c

-- 
2.34.1



^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2023-06-28 13:02 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-13 10:37 [PATCH 0/7] Integrate EFI capsule tasks into u-boot's build flow Sughosh Ganu
2023-06-13 10:38 ` [PATCH 1/7] capsule: authenticate: Embed capsule public key in platform's dtb Sughosh Ganu
2023-06-15  9:14   ` Simon Glass
2023-06-15 16:11     ` Sughosh Ganu
2023-06-19 12:36       ` Simon Glass
2023-06-21  4:20         ` Sughosh Ganu
2023-06-26  9:07           ` Simon Glass
2023-06-26  9:53             ` Ilias Apalodimas
2023-06-26 11:19               ` Simon Glass
2023-06-27  9:54                 ` Ilias Apalodimas
2023-06-27 10:13                   ` Simon Glass
2023-06-27 10:20                     ` Sughosh Ganu
2023-06-13 10:38 ` [PATCH 2/7] test: py: Generate capsule keys prior to building u-boot Sughosh Ganu
2023-06-13 10:38 ` [PATCH 3/7] doc: capsule: Document the new mechanism to embed ESL file into dtb Sughosh Ganu
2023-06-15  9:14   ` Simon Glass
2023-06-13 10:38 ` [PATCH 4/7] tools: mkeficapsule: Add support for parsing capsule params from config file Sughosh Ganu
2023-06-14  3:39   ` Takahiro Akashi
2023-06-14  5:26     ` Sughosh Ganu
2023-06-14  5:53       ` Takahiro Akashi
2023-06-15  4:39         ` Sughosh Ganu
2023-06-15  5:49           ` Takahiro Akashi
2023-06-16  4:26             ` Sughosh Ganu
2023-06-16  4:46               ` Takahiro Akashi
2023-06-16  5:07                 ` Sughosh Ganu
2023-06-16  5:18                   ` Takahiro Akashi
2023-06-16  6:35                     ` Sughosh Ganu
2023-06-16 13:12                       ` Schmidt, Malte
2023-06-19  7:27                         ` Sughosh Ganu
2023-06-19  9:42                           ` Schmidt, Malte
2023-06-13 10:38 ` [PATCH 5/7] Makefile: Add a target for building capsules Sughosh Ganu
2023-06-15  9:14   ` Simon Glass
2023-06-15 16:25     ` Sughosh Ganu
2023-06-19 12:37       ` Simon Glass
2023-06-21  4:26         ` Sughosh Ganu
2023-06-26  9:07           ` Simon Glass
2023-06-26 12:13             ` Sughosh Ganu
2023-06-27  4:57               ` Sughosh Ganu
2023-06-27 11:20                 ` Simon Glass
2023-06-27 12:07                   ` Sughosh Ganu
2023-06-27 12:20                     ` Simon Glass
2023-06-27 17:42                       ` Sughosh Ganu
2023-06-28  7:42                         ` Simon Glass
2023-06-28  8:42                           ` Ilias Apalodimas
2023-06-28 10:00                           ` Sughosh Ganu
2023-06-28 10:19                             ` Simon Glass
2023-06-28 12:25                               ` Sughosh Ganu
2023-06-28 13:02                                 ` Simon Glass
2023-06-13 10:38 ` [PATCH 6/7] test: efi_capsule: Test capsule generation from config file Sughosh Ganu
2023-06-15  9:14   ` Simon Glass
2023-06-13 10:38 ` [PATCH 7/7] doc: Add documentation to describe capsule config file format Sughosh Ganu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox