[SPAM] [PATCH 2/2] binman: Add more documentation about binman usage

Simon Glass sjg at chromium.org
Thu Aug 18 10:17:06 CEST 2022


Hi Xavier,

On Mon, 8 Aug 2022 at 09:48, Xavier Drudis Ferran <xdrudis at tinet.cat> wrote:
>
> El Sun, Aug 07, 2022 at 04:33:26PM -0600, Simon Glass deia:
> > This is an attempt to answer the comments provided by Xavier [1].
> >
>
> Thank you. Sorry if I point out silly things too. No agony intended.
>
> >
> > +Note that binman can itself can create a FIT. This helps to move mkimage
>
> one "can" too much

It looks like Heinrich applied this patch, or at least it seems to be
in mainline now. This 'can' was fixed.

>
> > +invocations out of the Makefile and into binman image descriptions. It also
> > +helps by removing the need for ad-hoc tools like `make_fit_atf.py`.
> > +
> >
>
> Maybe in future tense?
> We're not there yet?, because of tee.bin, see Jerome's message.
> Or is tee.bin not officialy supported yet in U-Boot?

I suppose we are not there yet for some cases. Patches are welcome but
I don't think we need to put this in the future tense.


>
>
> > +How do you know how to incorporate ATF? It is handled by the atf-bl31 entry type
> > +(etype). An etype is an implementation of reading a binary into binman, in this
> > +case the `bl31.bin` file. When you build U-Boot but do not set the BL31
> > +environment variable, binman provides a help message, which comes from
> > +`missing-blob-help`::
> > +
> > +    See the documentation for your board. You may need to build ARM Trusted
> > +    Firmware and build with BL31=/path/to/bl31.bin
> > +
> > +The mechanism by which binman is advised of this is also in the Makefile. See
> > +the `-a atf-bl31-path=${BL31}` piece in `cmd_binman`. This tells binman to
> > +set the EntryArg `atf-bl31-path` to the value of the `BL31` environment
> > +variable. Within binman, this EntryArg is picked up by the `Entry_atf_bl31`
> > +etype. An EntryArg is simply an argument to the entry. The `atf-bl31-path`
> > +name is documented in :ref:`etype_atf_bl31`.
> > +
>
> Still confused. Shouldn't you mention split-elf ?
> The way I use it bl31.elf is not simply copied into an image (atf_bl31.py
> is just a Entry_blob_named_by_arg). It is sliced in pieces and put into
> u-boot.itb. Each piece carries a little metadada like the load address,
> extracted from the elf by make_fit_atf.py or binman with split-elf.
>
> The problem is binman cannot incorporate an image it produced as a binary into
> another, so we must still use make_fit_atf.py. But then binman does not use
> atf-bl31, it simply includes a blob with filename="u-boot.itb".
>
> Maybe it's not the best way to do it and people should just add a atf-bl31 {}
> section in their binman image and it somehow works ? Because that's what
> I would assume from your text.
>
> Or maybe you're talking of other boards, but then try not to write it as this
> is the method one uses always when one has atf (TF-A)?

I was, but I'll send a patch with a try at this also.

>
> Anyway, thank you for writing it. The docs help understand many of the issues
> and are a good improvement.

OK good. Thanks for writing up your questions in such detail.

Regards,
SImon


More information about the U-Boot mailing list