[PATCH v4 0/8] Support metadata-driven A/B boot for STM32MP25
Dario Binacchi
dario.binacchi at amarulasolutions.com
Sun Apr 19 16:31:40 CEST 2026
This series, the mainline version of [1], provides the necessary changes
in U-Boot to support the metadata-driven A/B update flow for STM32MP25
boards. It implements the logic required to dynamically select the boot
bank based on FWU metadata.
These changes are designed to be backward compatible while providing
the necessary infrastructure for the A/B scheme.
The series has been tested on the STM32MP257F-EV1 board.
Additionally, some patches in the series propose changes with
general-purpose utility:
1/7 lib: uuid: add partition type GUID for extended bootloader
4/7 cmd: part: support lookup by UUID in 'part number'
6/7 fwu: add helper to get image GUID by type and bank index
[1] https://github.com/STMicroelectronics/u-boot/pull/6
Changes in v4:
- Place the part command tests in the cmd suite rather than the dm
suite.
- Add patch 7/8 test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid
Changes in v3:
- Wrap lines exceeding 80 columns in test/cmd/part.c file.
- Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command(
- Add kerneldoc comment for fwu_mdata_get_image_guid() above its declaration
in fwu.h.
- Add log_warning() messages to fwu_platform_hook() to catch inconsistent
FWU metadata (boot GUID found but root GUID missing or viceversa), as
suggested by Simon Glass.
Changes in v2:
- Add links to the XBOOTLDR specification in the commit message of patch
1/7 lib: uuid: add partition type GUID for extended bootloader.
- Update help for 'part start', 'part size' to mention UUID.
- Add kerneldoc comment for fwu_mdata_get_image_guid().
- Pass efi_guid_t by pointer in fwu_mdata_get_image_guid().
- Add patches:
5/7 test: cmd: part: add UUID lookup tests
3/7 test: cmd: add unit tests for part command
2/7 test: dm: part: add test for part_get_info_by_uuid
Dario Binacchi (8):
lib: uuid: add partition type GUID for extended bootloader
test: dm: part: add test for part_get_info_by_uuid
test: cmd: add unit tests for part command
cmd: part: support lookup by UUID
test: cmd: part: add UUID lookup tests
fwu: add helper to get image GUID by type and bank index
test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid
board: st: stm32mp25: support dynamic A/B bank bootup
board/st/stm32mp2/stm32mp2.c | 32 ++++
cmd/part.c | 12 +-
doc/README.gpt | 2 +
include/configs/stm32mp25_st_common.h | 15 ++
include/fwu.h | 11 ++
include/part_efi.h | 3 +
lib/fwu_updates/fwu.c | 33 ++++
lib/uuid.c | 1 +
test/cmd/Makefile | 1 +
test/cmd/part.c | 209 ++++++++++++++++++++++++++
test/dm/fwu_mdata.c | 48 ++++++
test/dm/part.c | 53 +++++++
12 files changed, 416 insertions(+), 4 deletions(-)
create mode 100644 test/cmd/part.c
--
2.43.0
base-commit: e3405917a1806971d9e72a94186b299f05581e1a
branch: fwupdate-ab
More information about the U-Boot
mailing list