FIT: support for compressed images breaks existing images
Christian Eggers
ceggers at arri.de
Fri Aug 25 02:44:04 PDT 2023
Hi Ahmad,
On Wednesday, 23 August 2023, 18:32:06 CEST, Ahmad Fatoum wrote:
> I need not tell you though that latest is greatest and all that ;)
after rebasing my internal branch to v2023.8.0, my system doesn't
boot anymore:
Booting entry '/dev/nand0.root.ubi.kernel0'
FIT: Opened FIT image: Barebox fitImage for Poky (Yocto Project Reference Distro)/1.0/orbiter
FIT: matching unit 'conf-imx6ull-arri-orbiter-revB.dtb' found
FIT: configuration 'conf-imx6ull-arri-orbiter-revB.dtb': 7 Linux kernel, FDT blob, ramdisk
FIT: image 'kernel-1': 'Linux kernel'
FIT: /images/kernel-1/hash-1: hash OK
Loading open firmware Device Tree flattened Binary '/dev/nand0.root.ubi.kernel0'
FIT: image 'ramdisk-1': 'lios-initramfs-ubifs-orbiter.cpio.lz4'
FIT: /images/ramdisk-1/hash-1: hash OK
cannot handle filetype LZ4 compressed
ERROR: FIT: data couldn't be decompressed
ERROR: Cannot open ramdisk image in FIT image: Function not implemented
ERROR: Booting entry '/dev/nand0.root.ubi.kernel0' failed
Since commit
2ab6780b80e3 ("FIT: add first support for compressed images")
Barebox uses the "compression" key from the FIT image which breaks loading my
ramdisk (LZ4 compressed, should be decompressed by the kernel). Although the
compression parameter should be "none" in that case, it actually isn't. Older
Yocto releases used to set the actual compression type here:
https://git.yoctoproject.org/poky/commit/?h=kirkstone&id=2c58079222310443f08df51e9fd6ce234e7e0019
In U-Boot, the "compression" parameter is ignored for ramdisks due to this
problem. Only a warning is printed:
https://source.denx.de/u-boot/u-boot/-/commit/bddd98573465
https://source.denx.de/u-boot/u-boot/-/blob/master/boot/image-fit.c#L2289
Could you also apply this workaround to Barebox?
regards,
Christian
More information about the barebox
mailing list