On Saturday 22 January 2022 17:31:18 Pali Rohár wrote: > On Friday 21 January 2022 21:15:43 Tom Rini wrote: > > On Sat, Jan 22, 2022 at 02:44:22AM +0100, Pali Rohár wrote: > > > On Friday 21 January 2022 16:21:33 Tom Rini wrote: > > > > On Fri, Jan 14, 2022 at 06:34:43PM +0100, Pali Rohár wrote: > > > > > > > > > If image backend provides verify_header callback then call it after > > > > > writing > > > > > image to disk. This ensures that written image is correct. > > > > > > > > > > Signed-off-by: Pali Rohár <p...@kernel.org> > > > > > Reviewed-by: Stefan Roese <s...@denx.de> > > > > > Reviewed-by: Simon Glass <s...@chromium.org> > > > > > --- > > > > > tools/mkimage.c | 41 +++++++++++++++++++++++++++++++++++++++++ > > > > > 1 file changed, 41 insertions(+) > > > > > > > > This breaks a number of platforms such as ls1021atwr_sdcard_qspi and > > > > it's not clear to me why exactly. > > > > > > Maybe they were already broken and this patch just detected it? > > > Or verify_header callback for particular image type is reject valid > > > image? > > > > > > Do you have some pointers to failed build logs? > > > > Try building for ls1021atwr_sdcard_qspi with your patch applied, the > > only new thing that's shown in the logs is the error message. > > So... I have tried following without this patch: > > $ make ls1021atwr_sdcard_qspi_defconfig > $ make CROSS_COMPILE=arm-linux-gnueabi- -j8 > > It generated file spl/u-boot-spl.pbl without error. Now I called -l on > this generated file for type pblimage and I got following output: > > $ ./tools/dumpimage -T pblimage -l spl/u-boot-spl.pbl > GP Header: Size aa55aa55 LoadAddr 1ee0100 > > $ ./tools/mkimage -T pblimage -l spl/u-boot-spl.pbl > GP Header: Size aa55aa55 LoadAddr 1ee0100 > > "GP Header:" line is from the TI OMAP image backend type gpimage or type > omapimage (implemented in file gpimage-common.c). > > So it means that files generated by ls1021atwr_sdcard_qspi are already > broken and my patch just detected it. Or it is also possible that > validation code in pblimage.c file is incorrect and broken.
Just to note validation is failing on this tools/pblimage.c check: if (pbl_hdr->rcwheader != reverse_byte(RCW_HEADER)) > What to do with it now?