binman: Override CheckOptional in fit entry
Missing optional blobs was not reported for generated entries, e.g. tee-os on rockchip targets. Implement a CheckOptional to fix this. After this the following can be shown: Image 'simple-bin' is missing optional external blobs but is still functional: tee-os /binman/simple-bin/fit/images/@tee-SEQ/tee-os (tee-os): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:

committed by
Simon Glass

parent
d92c4dd27d
commit
49dcd1c0bb
@@ -842,6 +842,13 @@ class Entry_fit(Entry_section):
|
|||||||
for entry in self._priv_entries.values():
|
for entry in self._priv_entries.values():
|
||||||
entry.CheckMissing(missing_list)
|
entry.CheckMissing(missing_list)
|
||||||
|
|
||||||
|
def CheckOptional(self, optional_list):
|
||||||
|
# We must use our private entry list for this since generator nodes
|
||||||
|
# which are removed from self._entries will otherwise not show up as
|
||||||
|
# optional
|
||||||
|
for entry in self._priv_entries.values():
|
||||||
|
entry.CheckOptional(optional_list)
|
||||||
|
|
||||||
def CheckEntries(self):
|
def CheckEntries(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@@ -6358,6 +6358,13 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
|
|||||||
fdt_util.fdt32_to_cpu(node.props['entry'].value))
|
fdt_util.fdt32_to_cpu(node.props['entry'].value))
|
||||||
self.assertEqual(U_BOOT_DATA, node.props['data'].bytes)
|
self.assertEqual(U_BOOT_DATA, node.props['data'].bytes)
|
||||||
|
|
||||||
|
with test_util.capture_sys_output() as (stdout, stderr):
|
||||||
|
self.checkFitTee('264_tee_os_opt_fit.dts', '')
|
||||||
|
err = stderr.getvalue()
|
||||||
|
self.assertRegex(
|
||||||
|
err,
|
||||||
|
"Image '.*' is missing optional external blobs but is still functional: tee-os")
|
||||||
|
|
||||||
def testFitTeeOsOptionalFitBad(self):
|
def testFitTeeOsOptionalFitBad(self):
|
||||||
"""Test an image with a FIT with an optional OP-TEE binary"""
|
"""Test an image with a FIT with an optional OP-TEE binary"""
|
||||||
with self.assertRaises(ValueError) as exc:
|
with self.assertRaises(ValueError) as exc:
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
fit,data;
|
fit,data;
|
||||||
|
|
||||||
tee-os {
|
tee-os {
|
||||||
|
optional;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user