[PATCH RFC v2 0/8] Fix handling of optional blobs in binman
Simon Glass
sjg at chromium.org
Fri May 30 13:18:39 CEST 2025
Hi Yannic,
On Tue, 27 May 2025 at 14:24, Yannic Moog <y.moog at phytec.de> wrote:
>
> This series solves a contradiction regarding ext blobs packaged in
> binman. When they are marked as optional, by default they are faked, two
> messages are emitted. One says the image is not functional the other
> says the image is still functional. Both concern the same binman
> entry/blob.
>
> Binman is set up to have fake external blobs in case they are missing.
> This is regardless on whether they are optional or not.
> The implementation does not allow different types of entries to override
> the faking decision; at least there wouldn't be much sense in doing so.
>
> Here is an example build output of a phycore-imx8mp:
>
> BINMAN .binman_stamp
> Image 'image' is missing optional external blobs but is still functional: tee-os
>
> /binman/section/fit/images/tee/tee-os (tee.bin):
> See the documentation for your board. You may need to build Open Portable
> Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin
>
> Image 'image' has faked optional external blobs and is still functional: tee.bin
>
> OFCHK .config
>
> The output will stay to inform/warn the user, but in this case the
s/will stay/stays/
We should use present / imperative tense.
> tee-os entry will not be present in the final image.
>
> The first patch makes binman test with --fake_ext_blobs by default to be
> consistent with the default make target when building U-Boot. This
> exposes an error as one test is failing where it should not (loadables).
> Then, fix some tests that must not fake ext blobs and thus failed due to
> the change.
Again I'm still not sure why we need to change the default, but once
we have a bisectable series I will probably understand it better.
Please also rebase on -next
>
> ---
> Changes in v2:
> - mark as RFC due to failing tests. In current state, series is more of
> a concept
> - Link to v1: https://lore.kernel.org/r/20250129-binman_faked_optional-v1-0-a4534bc67cbb@phytec.de
>
> ---
> Yannic Moog (8):
> tools: binman: ftest: pass allow_fake_blob to _DoReadFileDtb
> tools: binman: drop "faked" return value from check_fake_fname
> tools: binman: mark optional missing blobs as absent
> binman: replace _entries with GetEntries()
> binman: rework dropping absent entries from packaged image
> tools: binman: add faked optional entry case in CheckForProblems
> tools: binman: ftest: fix tests that require non-faked ext blobs
> binman: test: assert optional blobs don't cause non-functionality
>
> tools/binman/binman.rst | 7 ++++
> tools/binman/control.py | 27 +++++++++++----
> tools/binman/entry.py | 17 ++++++----
> tools/binman/etype/atf_fip.py | 4 +--
> tools/binman/etype/blob.py | 9 ++---
> tools/binman/etype/blob_ext_list.py | 4 +--
> tools/binman/etype/blob_phase.py | 4 +--
> tools/binman/etype/cbfs.py | 15 +++++----
> tools/binman/etype/efi_capsule.py | 2 +-
> tools/binman/etype/fit.py | 4 +--
> tools/binman/etype/mkimage.py | 6 ++--
> tools/binman/etype/nxp_imx8mcst.py | 2 +-
> tools/binman/etype/nxp_imx8mimage.py | 2 +-
> tools/binman/etype/section.py | 62 ++++++++++++++++++++---------------
> tools/binman/etype/ti_board_config.py | 8 ++---
> tools/binman/ftest.py | 43 +++++++++++++++++-------
> tools/binman/image.py | 4 ++-
> 17 files changed, 138 insertions(+), 82 deletions(-)
> ---
> base-commit: eeb5ff1a468b2303efa9deb2483b5edbebb568c6
> change-id: 20250122-binman_faked_optional-5025f7046e25
>
> Best regards,
> --
> Yannic Moog <y.moog at phytec.de>
>
Regards,
Simon
More information about the U-Boot
mailing list