[PATCH] Makefile: binman: Search board directory before srctree
Simon Glass
sjg at chromium.org
Fri May 15 20:13:50 CEST 2026
Hi Tom,
On Fri, 15 May 2026 at 10:03, Tom Rini <trini at konsulko.com> wrote:
>
> On Fri, May 15, 2026 at 09:35:10AM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Fri, 15 May 2026 at 08:54, Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Fri, May 15, 2026 at 07:43:27AM +0200, Wadim Egorov wrote:
> > >
> > > > A file like rm-cfg.yaml accidentally left in the source tree root
> > > > shadows the board-specific copy. binman builds the wrong YAML, the
> > > > resulting rm-cfg.bin may match a different SoC, and we end up with
> > > > the following error:
> > > >
> > > > k3_system_controller sysctrler: k3_sysctrler_start:
> > > > Boot Notification response failed. ret = -110
> > > >
> > > > Move the board directory ahead of the srctree root so that the
> > > > most-specific match wins.
> > > >
> > > > Signed-off-by: Wadim Egorov <w.egorov at phytec.de>
> > > > ---
> > > > Makefile | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/Makefile b/Makefile
> > > > index 552328f9f2c..1ec29dfe0be 100644
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -1682,7 +1682,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \
> > > > build -u -d $(binman_dtb) -O . -m \
> > > > --allow-missing --fake-ext-blobs \
> > > > $(if $(BINMAN_ALLOW_MISSING),--ignore-missing) \
> > > > - -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \
> > > > + -I . -I $(srctree)/board/$(BOARDDIR) -I $(srctree) \
> > > > $(foreach f,$(of_list_dirs),-I $(f)) -a of-list=$(of_list) \
> > > > $(foreach f,$(BINMAN_INDIRS),-I $(f)) \
> > > > -a atf-bl1-path=${BL1} \
> > >
> > > Why do we need to look in $(srctree) itself?
> >
> > See for example:
> >
> > arch/arm/dts/k3-j721e-binman.dtsi:308: private-key =
> > "arch/arm/mach-k3/keys/custMpk.pem";
>
> That's not great, I'm sorry I missed it at the time. I wonder how easy
> replacing that key is with a non-dummy key. Hopefully it's done in a way
> that doesn't encourage checking private keys in to repositories..
Typically we would use an environment var passed in from the Makefile,
as we do with BL31, TEE, TI_DM, etc.
>
> > Also, people sometimes put files in the source tree, e.g. BL31 images,
> > in the hope that they will be found.
>
> That's also a bad practice and what BINMAN_INDIRS is for.
Yes, but that came quite a bit later with the bintool stuff (2021).
Anyway, with a bit of work I believe we could drop the source dir.
Would you like to look at it, or should I?
Regards,
Simon
More information about the U-Boot
mailing list