[PATCH] Makefile: binman: Search board directory before srctree
Simon Glass
sjg at chromium.org
Fri May 15 20:32:30 CEST 2026
Hi Tom,
On Fri, 15 May 2026 at 12:24, Tom Rini <trini at konsulko.com> wrote:
>
> On Fri, May 15, 2026 at 12:13:50PM -0600, Simon Glass wrote:
> > 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?
>
> Well, the first step would be getting some more feedback on how people
> override some of these files for example. Even more environment files
> seems like a bad idea and I'm not sure what BINMAN_INDIRS can't cover
> today.
Assuming you mean 'environment variables', we do need the actual
filename, not just the directory. We could have default filenames for
each entry type, I suppose. Some do already.
Regards,
Simon
More information about the U-Boot
mailing list