FIT: support for compressed images breaks existing images

Christian Eggers ceggers at
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:

In U-Boot, the "compression" parameter is ignored for ramdisks due to this
problem. Only a warning is printed:

Could you also apply this workaround to Barebox?


More information about the barebox mailing list