mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-25 14:56:03 +00:00
imx: hab: fix size of IVT+CSF blob tacked on to u-boot.itb
Loading flash.bin using uuu fails when flash.bin does not have the right size. When flash.bin is loaded from some storage medium (sd card/emmc), SPL just loads some random garbage bytes from beyond what has been populated when flash.bin was written, but when loaded via uuu, SPL hangs waiting for the host to send the expected number of bytes. Which is (size of FIT image aligned to 0x1000)+CONFIG_CSF_SIZE. The alignment to 0x1000 is already done and is necessary in all cases because that's the exact expected location of the 32 byte IVT header. But the IVT+CSF blob tacked onto the end must be a total of CONFIG_CSF_SIZE. This is exactly the same fix as89f19f45d6
, except that this time around I don't know how to cleanly get CONFIG_CSF_SIZE. Fixes:bc6beae7c5
(binman: Add nxp_imx8mcst etype for i.MX8M flash.bin signing) Signed-off-by: Rasmus Villemoes <ravi@prevas.dk> Tested-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
dfe9e29f83
commit
bfbbd8472e
1 changed files with 2 additions and 0 deletions
|
@ -165,6 +165,8 @@ class Entry_nxp_imx8mcst(Entry_mkimage):
|
|||
args = ['-i', cfg_fname, '-o', output_fname]
|
||||
if self.cst.run_cmd(*args) is not None:
|
||||
outdata = tools.read_file(output_fname)
|
||||
# fixme: 0x2000 should be CONFIG_CSF_SIZE
|
||||
outdata += tools.get_bytes(0, 0x2000 - 0x20 - len(outdata))
|
||||
return data + outdata
|
||||
else:
|
||||
# Bintool is missing; just use the input data as the output
|
||||
|
|
Loading…
Add table
Reference in a new issue