[PATCH v2 01/38] Makefile: Fake external blobs by default with binman
Simon Glass
sjg at chromium.org
Mon Oct 10 17:33:59 CEST 2022
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.
Regards,
Simon
More information about the U-Boot
mailing list