[PATCH v5 0/7] Improve FIT signature handling
Ludwig Nussel
ludwig.nussel at siemens.com
Thu May 28 13:47:56 CEST 2026
This patch series tries to improve dealing with FIT
(configuration-)signatures a bit:
- make signatures work with QEMU. QEMU brings it's own device tree at
a memory address. U-Boot expects public keys in it's own DT though.
So merge both.
- (optionally) enforce signatures so we can't accidentally boot
unsigned fit images. Quite an easy oversight, esp when qemu
previously didn't even use the built in DT.
- make iminfo verify configuration signatures, not just image hashes
Changes in v5:
- refactor ubman.config.buildconfig access
- reword commit message to mention disabling of pre-load global
signature test
- rely on inline dummy for fit_all_configurations_verify
- use CONFIG_IS_ENABLED(FIT_SIGNATURE) to guard fit_all_configurations_verify
- print warning if /configurations node is missing
- print "OK\n" in fit_all_image_verify()
- use helper function shared with bootm
- introduce assert_fit()
Changes in v4:
- mention arm in subject
- correctly change defconfig
- fix and reword comment
- reword Kconfig help text
- rename option to FIT_REQUIRE_CONFIG_SIGS
- introduce SPL_FIT_REQUIRE_CONFIG_SIGS
- test CONFIG_FIT_REQUIRE_CONFIG_SIGS in test_vboot
- set CONFIG_FIT_REQUIRE_CONFIG_SIGS in sandbox_defconfig
- fix documentation to use kdoc style
- test iminfo in test_vboot
Changes in v3:
- enable CONFIG_OF_OMIT_DTB=n in defconfig
- add error returns
- document decission about dt merging direction
- make log_err use stdout too
- clarify error message when no keys were found
- change printfs to log_err
- reword Kconfig
- keep FIT_SIGNATURE_REQUIRED off by default
- use log_err instead of printf in fit_config_verify_required_keys()
- don't make iminfo fail unless FIT_SIGNATURE_REQUIRED is set
- update fit_all_configurations_verify documentation
- stub fit_all_configurations_verify unless FIT_SIGNATURES
Changes in v2:
- introduce FIT_SIGNATURE_REQUIRED
- document fit_all_configurations_verify()
Ludwig Nussel (7):
qemu-arm: merge built-in DT
mkimage: define log_err and log_info
image-fit-sig: Optionally require signatures
test: vboot: handle CONFIG_FIT_REQUIRE_CONFIG_SIGS in test_vboot
iminfo: also verify signatures
test: vboot: refactor run_bootm
test: vboot: add iminfo checks
board/emulation/qemu-arm/qemu-arm.c | 47 +++++++-
boot/Kconfig | 22 ++++
boot/image-fit-sig.c | 22 ++--
boot/image-fit.c | 55 ++++++++-
boot/image-pre-load.c | 3 -
cmd/bootm.c | 8 ++
configs/qemu_arm64_defconfig | 1 +
configs/sandbox_noinst_defconfig | 2 +
include/image.h | 8 ++
test/py/tests/test_vboot.py | 171 ++++++++++++++++++++++------
tools/mkimage.h | 6 +
11 files changed, 294 insertions(+), 51 deletions(-)
--
2.43.0
base-commit: 7a2caf07d7db4803d2c5738a85b20043066d958b
branch: us-qemu-signatures5
More information about the U-Boot
mailing list