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

Quentin Schulz foss+uboot at 0leil.net
Mon Aug 1 18:06:04 CEST 2022


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(-)

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)
         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



More information about the U-Boot mailing list