[PATCH 0/9] binman: Show missing blob message when building U-Boot

Jonas Karlman
2023-02-19T22:02:25Z

binman currently support showing a helpful missing blob message, but
only when the --allow-missing flag is used.

This changes so that binman is invoked with the --allow-missing flag
and the helpful message can be shown by default when building U-Boot.

Using the following:

make rockpro64-rk3399_defconfig
make CROSS_COMPILE="aarch64-linux-gnu-"

Before this series a build fails with:

binman: Filename 'atf-bl31' not found in input path (...)

After this series a build fails with:

Image 'simple-bin' is missing external blobs and is non-functional: atf-bl31

/binman/simple-bin/fit/images/@atf-SEQ/atf-bl31 (atf-bl31):
See the documentation for your board. You may need to build ARM Trusted
Firmware and build with BL31=/path/to/bl31.bin

Image 'simple-bin' is missing external blobs but is still functional: tee-os

/binman/simple-bin/fit/images/@tee-SEQ/tee-os (tee-os):
See the documentation for your board. You may need to build Open Portable
Trusted Execution Environment (OP-TEE) with TEE=/path/to/tee.bin

Some images are invalid

Builds will continue to fail when there is missing blobs, and the use of
BINMAN_ALLOW_MISSING=1 now only enables the --ignore-missing flag.

This series also fixes a few minor issues that prevented some missing
and optional blobs to be detected for fit and mkimage entries.

Patch 1-3 contains spelling fixes and code cleanup for related parts.
Patch 4-6 improve missing/optional detection for fit and mkimage entries.
Patch 7-8 improve the missing blob warning message output.
Patch 9 finally update Makefile to always pass the --allow-missing flag.

The series is based on top of [1], and is the follow-up series meant to
address the issue with missing blob message for mkimage entries.

[1] https://patchwork.ozlabs.org/project/uboot/cover/20230219150629.4012377-1-jonas@kwiboo.se/

Jonas Karlman (9):
binman: Remove redundant SetAllowFakeBlob from blob-ext entry
binman: Fix spelling of nodes in code comments
binman: Use correct argument name in docstrings
binman: Override CheckOptional in fit entry
binman: Implement missing check functions in mkimage entry
binman: Mark mkimage entry missing when its subnodes is missing
binman: Fix blank line usage for invalid images warning text
binman: Show filename in missing blob help message
Makefile: Show binman missing blob message

Makefile | 2 +-
tools/binman/control.py | 24 ++++++---
tools/binman/entry.py | 2 +-
tools/binman/etype/blob.py | 2 +-
tools/binman/etype/blob_ext.py | 8 ---
tools/binman/etype/fit.py | 9 +++-
tools/binman/etype/mkimage.py | 54 ++++++++++++++++++-
tools/binman/etype/section.py | 6 +--
tools/binman/ftest.py | 9 ++++
tools/binman/state.py | 2 +-
.../test/278_mkimage_missing_multiple.dts | 19 +++++++
11 files changed, 111 insertions(+), 26 deletions(-)
create mode 100644 tools/binman/test/278_mkimage_missing_multiple.dts

--
2.39.2