aboutsummaryrefslogtreecommitdiff
path: root/tools/binman/control.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-01-09 20:14:09 -0700
committerSimon Glass <sjg@chromium.org>2022-01-25 12:36:11 -0700
commit4f9ee83ba96c6c4e5e647f26eb4a124544ce61d7 (patch)
tree74410fffbe77c7e1ae6d9286e9038abb19f5d496 /tools/binman/control.py
parent359e431cbc1d956b65b6b6bc86b7f3f88fc15927 (diff)
downloadu-boot-4f9ee83ba96c6c4e5e647f26eb4a124544ce61d7.zip
u-boot-4f9ee83ba96c6c4e5e647f26eb4a124544ce61d7.tar.gz
u-boot-4f9ee83ba96c6c4e5e647f26eb4a124544ce61d7.tar.bz2
binman: Plumb in support for missing bintools
Bintools can be missing, in which case binman continues operation but reports an invalid image. Plumb in support for this and add tests for entry types which use bintools. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/control.py')
-rw-r--r--tools/binman/control.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/binman/control.py b/tools/binman/control.py
index 5b10f19..bbd7773 100644
--- a/tools/binman/control.py
+++ b/tools/binman/control.py
@@ -583,7 +583,14 @@ def ProcessImage(image, update_fdt, write_map, get_contents=True,
"Image '%s' has faked external blobs and is non-functional: %s" %
(image.name, ' '.join([os.path.basename(e.GetDefaultFilename())
for e in faked_list])))
- return bool(missing_list) or bool(faked_list)
+ missing_bintool_list = []
+ image.check_missing_bintools(missing_bintool_list)
+ if missing_bintool_list:
+ tout.Warning(
+ "Image '%s' has missing bintools and is non-functional: %s" %
+ (image.name, ' '.join([os.path.basename(bintool.name)
+ for bintool in missing_bintool_list])))
+ return any([missing_list, faked_list, missing_bintool_list])
def Binman(args):
@@ -688,6 +695,9 @@ def Binman(args):
# Set the first image to timeout, used in testThreadTimeout()
images[list(images.keys())[0]].test_section_timeout = True
invalid = False
+ bintool.Bintool.set_missing_list(
+ args.force_missing_bintools.split(',') if
+ args.force_missing_bintools else None)
for image in images.values():
invalid |= ProcessImage(image, args.update_fdt, args.map,
allow_missing=args.allow_missing,