[PATCH v3 2/8] binman: allow user-defined filenames for mkimage entry

Simon Glass sjg at chromium.org
Mon Aug 1 21:13:24 CEST 2022


Hi Quentin,

On Mon, 1 Aug 2022 at 10:06, Quentin Schulz <foss+uboot at 0leil.net> wrote:
>
> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>
> mkimage entry currently creates a file whose name is derived from the
> section name containing said entry.
>
> Let's allow the user to define a filename for the mkimage-generated
> binary by using the 'filename' DT property.
>
> Cc: Quentin Schulz <foss+uboot at 0leil.net>
> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> ---
>
> added in v3
>
>  tools/binman/etype/mkimage.py | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)

This does need a test (should be able to update the mkimage one).

>
> diff --git a/tools/binman/etype/mkimage.py b/tools/binman/etype/mkimage.py
> index 52297c23ea..902c254425 100644
> --- a/tools/binman/etype/mkimage.py
> +++ b/tools/binman/etype/mkimage.py
> @@ -20,11 +20,13 @@ class Entry_mkimage(Entry):
>            datafiles to mkimage instead of creating a temporary file the result
>            of datafiles concatenation
>          - args: Other arguments to pass
> +        - filename: filename of output binary generated by mkimage
>
>      The data passed to mkimage is collected from subnodes of the mkimage node,
>      e.g.::
>
>          mkimage {
> +            filename = "imximage.bin";
>              args = "-n test -T imximage";
>
>              u-boot-spl {
> @@ -33,7 +35,7 @@ class Entry_mkimage(Entry):
>
>      This calls mkimage to create an imximage with u-boot-spl.bin as the input
>      file. The output from mkimage then becomes part of the image produced by
> -    binman.
> +    binman but also is written into imximage.bin file.
>
>         To pass all datafiles untouched to mkimage::
>
> @@ -70,6 +72,7 @@ class Entry_mkimage(Entry):
>          self._args = fdt_util.GetArgs(self._node, 'args')
>          self._multiple_data_files = fdt_util.GetBool(self._node, 'multiple-data-files')
>          self._mkimage_entries = OrderedDict()
> +        self._filename = fdt_util.GetString(self._node, 'filename')
>          self.align_default = None
>          self.ReadEntries()
>
> @@ -89,7 +92,7 @@ class Entry_mkimage(Entry):
>                  self._mkimage_entries.values(), 'mkimage', fake_size)
>              if data is None:
>                  return False
> -        output_fname = tools.get_output_filename('mkimage-out.%s' % uniq)
> +        output_fname = tools.get_output_filename(self._filename if self._filename else 'mkimage-out.%s' % uniq)

Check <80cols?

>          if self.mkimage.run_cmd('-d', input_fname, *self._args,
>                                  output_fname) is not None:
>              self.SetContents(tools.read_file(output_fname))
> --
> 2.37.1
>

Regards,
SImon


More information about the U-Boot mailing list