[18.06.01] x86_64 Custom kernel (3.18.67) fails to boot from xz squashfs root

I've built openwrt 18.06.01 on x86_64 with a custom kernel (3.18.67) and the squashfs image panics on boot with "xz decompression failed".

After building, I'm running the image on qemu x86_64 with 1GB RAM.
If I boot the combined ext4 image, I'm able to mount and browse the filesystem, but attempting to access a file results into i/o errors with "xz decompression failed" in dmesg. If i change the SQFS compression method to GZIP the resulting image works and boots properly, but is bigger than my maximum allowed size.

Does someone know what is causing this? Do I need some specific openwrt/lede patch for the 3.18.67 kernel to make xz work?

Thank you!

Have you tried EXT4?

Hi lleachii,
Yes, I'm able to boot the ext4 combined image successfully. However the device I'm building this for has limited storage and the ext4 image is too big for that. Also the flash rom is a bit weary and has limited writes, so I'd like to reduce them to a bare minimum by using SquashFS. Also kernel version 3.18.67 is mandatory, so I'm stuck with it.

Thank you for your input!

1 Like