[PATCH v3] 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 ---
Rebased over "binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script"
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 63d552ed192..a31498d5847 100644 --- a/tools/binman/etype/fit.py +++ b/tools/binman/etype/fit.py @@ -532,6 +532,10 @@ class Entry_fit(Entry_section): # Add data for 'images' nodes (but not 'config') if depth == 1 and in_images: fsw.property('data', tools.read_file(fname)) + + for subnode in node.subnodes: + with fsw.add_node(subnode.name): + _add_node(node, depth + 1, subnode) else: if self._fdts is None: if self._fit_list_prop: diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index ec8e3d4d91b..d296bf1a137 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -4037,6 +4037,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"; + }; }; };

On Mon, 28 Feb 2022 at 09:06, Jan Kiszka jan.kiszka@siemens.com wrote:
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
Rebased over "binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script"
tools/binman/etype/fit.py | 4 ++++ tools/binman/ftest.py | 1 + tools/binman/test/170_fit_fdt.dts | 3 +++ 3 files changed, 8 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
participants (2)
-
Jan Kiszka
-
Simon Glass