squashfs: corrupted kernel image when booting/reading from squashfs

Falco Hyfing hyfinglists at gmail.com
Tue Feb 7 04:25:04 PST 2017


Hi,

I've found what causes my problems with the squashfs volume. The
standard block size using mksquashfs is 128KiB, but OpenWrt's default
is 256KiB (-b 256k) causing the failure:
mksquashfs openwrt/build_dir/target-arm_xscale_musl-1.1.15_eabi/root-baltosopenwrt/build_dir/target-arm_xscale_musl-1.1.15_eabi/linux-baltos/root.squashfs
-root-owned -noappend -comp xz -b 256k -p '/dev d 755 0 0' -p
'/dev/console c 600 0 0 5 1' -processors 1

Setting -b 128k works.

Also OpenWrt uses bcj filters (-Xbcj arm) for xz which don't work
either. I had commented out this option earlier.

Best wishes,

Falco Hyfing


On Sat, Feb 4, 2017 at 12:35 PM, Ulrich Ölmann <u.oelmann at pengutronix.de> wrote:
> Hi Falco,
>
> On Fri, Feb 03, 2017 at 12:24:47PM +0100, Falco Hyfing wrote:
>> I try to boot a kernel-fit.itb from squashfs (xz compressed) volume while the
>> same kernel-fit.itb is bootable from a fat volume:
>
> currently barebox' squashfs driver seems to be broken if not used with lzo
> compression: the symptom is barebox only reading the first squashfs block
> correctly.
>
> I looked into this some months ago, but did not manage to find and fix the bug
> in reasonable time. As the barebox driver has been ported from the linux kernel,
> the latter is a working reference to look at when debugging.
>
> So you are welcome to hack on it and send patches. :)
>
> Best regards
> Ulrich
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox



More information about the barebox mailing list