[U-Boot] [PATCH v2] fdt: Fix mkimage list to try every header type
Jordan Hand
jordanhand22 at gmail.com
Wed Apr 10 16:46:32 UTC 2019
Image type is not supplied to `mkimage -l`. For this reason, we cannot
use imagetool_verify_print_header_by_type. Instead, this patch uses
imagetool_verify_print_header to look through all header types to find
one where image validation succeeds.
This patch fixes failures in test/image/test-imagetools.sh
Signed-off-by: Jordan Hand <jorhand at microsoft.com>
Tested-by: Alex Kiernan <alex.kiernan at gmail.com>
Tested-by: Vagrant Cascadian <vagrant at debian.org>
---
Changes in v2:
- Fix patch formatting to move commit message above the cut
tools/mkimage.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 2899adff81..76c3406d37 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -403,14 +403,21 @@ int main(int argc, char **argv)
exit (EXIT_FAILURE);
}
- /*
- * scan through mkimage registry for all supported image types
- * and verify the input image file header for match
- * Print the image information for matched image type
- * Returns the error code if not matched
- */
- retval = imagetool_verify_print_header_by_type(ptr, &sbuf,
- tparams, ¶ms);
+ if (params.fflag) {
+ /*
+ * Verifies the header format based on the expected header for
+ * image type in tparams
+ */
+ retval = imagetool_verify_print_header_by_type(ptr, &sbuf,
+ tparams, ¶ms);
+ } else {
+ /**
+ * When listing the image, we are not given the image type. Simply check all
+ * image types to find one that matches our header
+ */
+ retval = imagetool_verify_print_header(ptr, &sbuf,
+ tparams, ¶ms);
+ }
(void) munmap((void *)ptr, sbuf.st_size);
(void) close (ifd);
--
2.17.1
More information about the U-Boot
mailing list