[PATCH v2 4/7] dts: beagleplay: binman: Include firmware capsules binman nodes

Jon Humphreys j-humphreys at ti.com
Wed May 22 04:20:26 CEST 2024


Tom Rini <trini at konsulko.com> writes:

> On Fri, Apr 19, 2024 at 04:28:16PM -0500, Jonathan Humphreys wrote:
>
>> Fill in the BeaglePlay's capsule GUID properties of the base binman capsule
>> nodes.
>> 
>> Signed-off-by: Jonathan Humphreys <j-humphreys at ti.com>
>> ---
>>  arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 27 ++++++++++++++++++++
>>  arch/arm/dts/k3-am625-r5-beagleplay.dts      | 15 +++++++++++
>>  2 files changed, 42 insertions(+)
>
> This series introduces failure to build in CI, and it's a little tricky
> to replicate locally, depending on your environment. You first need to
> NOT have BINMAN_INDIRS set and instead be using fake binaries. Second,
> it seems python version dependent perhaps? I don't see this on my host,
> but by:
> - Using the CI container
> - Setting up a virtualenv inside of it
> - pip install -r tools/buildman/requirements.txt
> I get:
> $ ./tools/buildman/buildman --keep-outputs --reproducible-builds -dvel --force-build -PEWM --output /tmp/am62x_beagleplay_r5 --board am62x_beagleplay_r5
> Building current source for 1 boards (1 thread, 12 jobs per thread)
>        arm:  +   am62x_beagleplay_r5
> +(am62x_beagleplay_r5) Image 'tiboot3-am62x-gp-evm.bin' is missing optional external blobs but is still functional: ti-fs-gp.bin
> +(am62x_beagleplay_r5)
> +(am62x_beagleplay_r5) /binman/tiboot3-am62x-gp-evm.bin/ti-fs-gp.bin (ti-sysfw/ti-fs-firmware-am62x-gp.bin):
> +(am62x_beagleplay_r5)    Missing blob
> +(am62x_beagleplay_r5) binman: object of type 'NoneType' has no len()
> +(am62x_beagleplay_r5) make[1]: *** [Makefile:1126: .binman_stamp] Error 1
> +(am62x_beagleplay_r5) make: *** [Makefile:177: sub-make] Error 2
>     0    0    1 /1              am62x_beagleplay_r5

Tom, this is failing in the CI container because the container is missing
the mkeficapsule tool.

To solve this, we just need to add it to the CI container.

My understanding of binman's handling of missing bintools is that it should
gracefully continue with fake data, so that buildman can successfully test
out builds for boards even when you don't have all the required bintools.
If I have that correct, I can also create a patch to properly handle this
when using mkeficapsule. But I want to verify this is the desired behavior,
since mkeficapsule isn't a unique or vendor specific tool, so shouldn't we
require it as part of the U-Boot build environment and err out if it is
missing?

thanks
Jon

>
> -- 
> Tom


More information about the U-Boot mailing list