kwboot: Marvell Dove UART booting
Pali Rohár
pali at kernel.org
Sun Feb 13 17:10:54 CET 2022
On Wednesday 22 December 2021 20:08:56 Tony Dinh wrote:
> *** Run kwboot
>
> # kwboot -t -p -B 115200 /dev/ttyUSB0 -D /localdisk/mtd0.t5335z
> Patching image boot signature to UART
> Aligning image header to Xmodem block size
> Waiting 2s and flushing tty
> Sending boot image header (512 bytes)...
> 25 % [.... ]
> Done
> Sending boot image data (607664 bytes)...
> 0 % [......................................................................]
> 1 % [......................................................................]
> 2 % [......................................................................]
> <snip>
> 95 % [......................................................................]
> 97 % [......................................................................]
> 98 % [.......................................................... ]
> Done
> Finishing transfer
> [Type Ctrl-\ + c to quit]
>
> *** Hung here! BootROM did not execute the image payload.
> ***
> *** The file mtd0.t5335z is a dd dump from the SPI flash mtd0 with
> *** this command:
> *** # dd if=/dev/mtd0 of=mtd0.t5335z bs=768k conv=sync
>
> <End log>
>
>
> - Pali's observation:
>
> It looks like Dove uses kwbimage v0 format with extensions, at
> least according to Function Spec. See 'Binary Code Extension' and
> 'Header Extension'. Currently kwboot and kwbimage supports v0 image only
> with one extension.
>
> - My comments in response:
>
> Indeed. I've seen that in the Functional Spec, too. The mdt0 binwalk also shows
> what looks like the extension header.
No. this is not extension header as it is at the beginning of the image.
> DECIMAL HEXADECIMAL DESCRIPTION
> --------------------------------------------------------------------------------
> 118161 0x1CD91 Certificate in DER format (x509 v3),
> header length: 4, sequence length: 3
> 199169 0x30A01 Certificate in DER format (x509 v3),
> header length: 4, sequence length: 5464
> 380652 0x5CEEC CRC32 polynomial table, little endian
> 387072 0x5E800 CRC32 polynomial table, little endian
> 608166 0x947A6 LZMA compressed data, properties: 0x66,
These are offsets far away from the beginning. I doubt that binwalk
would be able to parse some Marvell extension headers, specially even
when native U-Boot tools cannot do it.
> dictionary size: 0 bytes, uncompressed size: 147351982848 bytes
>
> Thanks,
> Tony
More information about the U-Boot
mailing list