[PATCH v2 01/38] Makefile: Fake external blobs by default with binman

Simon Glass sjg at chromium.org
Mon Oct 10 17:43:01 CEST 2022


Hi Tom,

On Mon, 10 Oct 2022 at 09:36, Tom Rini <trini at konsulko.com> wrote:
>
> On Mon, Oct 10, 2022 at 09:33:59AM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Mon, 10 Oct 2022 at 09:24, Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Mon, Oct 10, 2022 at 09:19:39AM -0600, Simon Glass wrote:
> > > > Hi Rasmus,
> > > >
> > > > On Mon, 10 Oct 2022 at 04:16, Rasmus Villemoes
> > > > <rasmus.villemoes at prevas.dk> wrote:
> > > > >
> > > > > On 10/01/2022 04.13, Simon Glass wrote:
> > > > > > This behaviour is necessary with boards where the binman description
> > > > > > requires processing external blobs, since these may be missing.
> > > > > >
> > > > > > Enable it by default, so that CI is happy. Warnings indicate that a valid
> > > > > > image is not produced, as with the --allow-missing option.
> > > > >
> > > > > I know I have talked and warned about this before, and now I was
> > > > > actually bitten by it IRL.
> > > > >
> > > > > Can we _please_ stop doing this by default. I understand why upstream
> > > > > U-Boot's CI system needs this, but it should be possible for that CI
> > > > > system to set an environment variable or pass a make parameter to opt-in
> > > > > to generating these fake blobs.
> > > > >
> > > > > Generating potentially non-functional binaries by default, and currently
> > > > > without even a way to opt out of that (that I have found), is frankly
> > > > > not sane. Yeah, a warning is printed, but that easily scrolls away or in
> > > > > the case of automated builds is hidden away in some log file people
> > > > > would only ever look at if the job failed.
> > > > >
> > > > > I want my/our CI to _fail hard_ when I have failed to update the Yocto
> > > > > metadata to stage the necessary blobs before do_compile. And if upstream
> > > > > U-Boot want to continue to have this by default, can we at the very
> > > > > least get an ergonomic way to opt out (preferably a CONFIG_ option I can
> > > > > set or clear in my out-of-tree defconfig files).
> > > >
> > > > How come it doesn't fail? Building should produce an error 101 in this
> > > > case. Does it not? Please send the details if there is something
> > > > wrong.
> > >
> > > No, it does not.  You can see this for example with:
> > > $ make galileo_config
> > > ...
> > > $ make -sj16
> > > Image 'main-section' is missing external blobs and is non-functional: intel-cmc
> > > Image 'main-section' has faked external blobs and is non-functional: rmu.bin
> > >
> > > Some images are invalid
> > > $ echo $?
> > > 0
> >
> > Ah OK, that is a bug, though. I suppose I normally use buildman so
> > don't see it, and we have no test for it.
> >
> > I'll take a look when I get the -N thing done.
>
> Well, it's a design feature that buildman shows too.  See the series I
> just posted, we've been unconditionally passing binman the flags to
> always allow and fake missing binaries.

Yes, I see it. Will take a look after N:

Regrads,
Simon


More information about the U-Boot mailing list