[PATCH v2 0/6] Add support for fwumdata

Kory Maincent kory.maincent at bootlin.com
Fri Dec 12 17:23:25 CET 2025


Add a new fwumdata tool to allows users to read, display, and modify FWU
(Firmware Update) metadata from Linux userspace. It provides functionality
similar to fw_printenv/fw_setenv but for FWU metadata. Users can view
metadata, change active/previous bank indices, modify bank states, and set
image acceptance flags. Configuration is done via fwumdata.config file.

Made a few change to mkfwumdata tool along the way.

Here is an output example

$ ./fwumdata -l
FWU Metadata:
	Version:            2
	Active Index:       0
	Previous Index:     1
	CRC32:              0x1f21ff7b
	Metadata Size:      120 bytes
	Descriptor Offset:  32
	Bank States:
		Bank 0: accepted (0xfc)
		Bank 1: accepted (0xfc)

	Firmware Store Descriptor:
		Number of Banks:       2
		Number of Images:      1
		Image Entry Size:      80
		Bank Info Entry Size:  24

	Images:
		Image 0:
			Image Type GUID:  65ae85ad-1fb3-0b46-8c5d-285543aa6eab
			Location GUID:    51513491-da07-2a4f-9bea-375ea53b1b5c
			Banks:
				Bank 0:
					Image GUID:  cb2df442-f929-6a44-a374-672d92eb2aa7
					Accepted:    yes (1)
				Bank 1:
					Image GUID:  a839a18f-395c-484f-83b8-0354077c8f9f
					Accepted:    yes (1)

Changes in v2:
- Fix a small offset mistake in last patch

Signed-off-by: Kory Maincent <kory.maincent at bootlin.com>
---
Kory Maincent (6):
      tools: gitignore: Add mkfwumdata to the git ignore file
      tools: Reorganize mkfwumdata tool into fwumdata_src directory
      tools: mkfwumdata: Improve error message specificity
      tools: mkfwumdata: Add bank count validation for FWU metadata v2
      tools: Add support for fwumdata tool
      tools: mkfwumdata: Remove dependency on fwu_mdata.h header

 MAINTAINERS                           |   7 +-
 doc/develop/uefi/fwu_updates.rst      |   4 +-
 doc/fwumdata.1                        | 222 +++++++++
 tools/.gitignore                      |   2 +
 tools/Kconfig                         |   9 +-
 tools/Makefile                        |   4 +-
 tools/fwumdata_src/Kconfig            |  19 +
 tools/fwumdata_src/fwumdata.c         | 854 ++++++++++++++++++++++++++++++++++
 tools/fwumdata_src/fwumdata.config    |  33 ++
 tools/fwumdata_src/fwumdata.h         | 138 ++++++
 tools/fwumdata_src/fwumdata.mk        |  10 +
 tools/{ => fwumdata_src}/mkfwumdata.c | 106 ++---
 12 files changed, 1315 insertions(+), 93 deletions(-)
---
base-commit: 31bf4a1c308773895a8e7ea047b3cea037e4c922
change-id: 20251107-feature_fwumdata-58508d61e1d3

Best regards,
-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com



More information about the U-Boot mailing list