[PATCH v4 0/6] Add support for fwumdata

Kory Maincent
2026-02-23T13:19:37Z

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 v4:
- Add missing "always" suffix in Makefile description
- Link to v3: https://lore.kernel.org/r/20260216-feature_fwumdata-v3-0-9ecc5b10456d@bootlin.com

Changes in v3:
- Rebase on master.
- Link to v2: https://lore.kernel.org/r/20251212-feature_fwumdata-v2-0-ad51572fbe79@bootlin.com

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

Signed-off-by: Kory Maincent <kory.maincent@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: 30b8c03d8c8f500b3e4cc51f7b7abf573180ea51
change-id: 20251107-feature_fwumdata-58508d61e1d3

Best regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering