[PATCH v2] binman: Include also subnodes in generator nodes

From: Jan Kiszka jan.kiszka@siemens.com
This allows to prefill fdt and config nodes with hash and signature subnodes. It's just important to place the child nodes last so that hashes do not come before the data - would be disliked by mkimage.
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com ---
Changes in v2: - local var renamed - added test case
tools/binman/etype/fit.py | 4 ++++ tools/binman/ftest.py | 1 + tools/binman/test/170_fit_fdt.dts | 3 +++ 3 files changed, 8 insertions(+)
diff --git a/tools/binman/etype/fit.py b/tools/binman/etype/fit.py index a56b0564f9a..981fac7f086 100644 --- a/tools/binman/etype/fit.py +++ b/tools/binman/etype/fit.py @@ -214,6 +214,10 @@ class Entry_fit(Entry_section): if depth == 1 and in_images: fsw.property('data', tools.read_file(fname)) + + for subsubnode in subnode.subnodes: + with fsw.add_node(subsubnode.name): + _AddNode(subnode, depth + 1, subsubnode) else: if self._fdts is None: if self._fit_list_prop: diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 59b6d52fbe4..9de78272463 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -3915,6 +3915,7 @@ class TestFunctional(unittest.TestCase): self.assertEqual(expected_data, fnode.props['data'].bytes) self.assertEqual('fdt-test-fdt%d.dtb' % seq, fnode.props['description'].value) + self.assertEqual(fnode.subnodes[0].name, 'hash')
def _CheckConfig(seq, expected_data): """Check the configuration nodes diff --git a/tools/binman/test/170_fit_fdt.dts b/tools/binman/test/170_fit_fdt.dts index 99d710c57e9..0197ffd1597 100644 --- a/tools/binman/test/170_fit_fdt.dts +++ b/tools/binman/test/170_fit_fdt.dts @@ -36,6 +36,9 @@ description = "fdt-NAME.dtb"; type = "flat_dt"; compression = "none"; + hash { + algo = "sha256"; + }; }; };
participants (1)
-
Jan Kiszka