e7f0408f49
Commit3cf2782906
(support/testing/infra/emulator.py: update pre-built kernels) bumped the default kernels used by the testing infra. However, the newer armv7 kernel (at least) no longer has support for lz4-compressed squashfs filesystems. This breaks the squashfs test: Filesystem uses "lz4" compression. This is not supported List of all partitions: 1f00 131072 mtdblock0 (driver?) 1f01 32768 mtdblock1 (driver?) b300 2048 mmcblk0 driver: mmcblk No filesystem could mount root, tried: squashfs Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,0) Updating the kernel again is a little bit cumbersome, while fixing the actual test is relatively trivial, so this is what we do: we switch over to lzo, which is supported by the new kernel: # zcat /proc/config.gz |grep SQUA CONFIG_SQUASHFS=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SQUASHFS_LZ4 is not set CONFIG_SQUASHFS_LZO=y # CONFIG_SQUASHFS_XZ is not set While at it, also drop the superfluous line disabling gzip compression: it is part of a choice, so enabling one (lzo here) forcibly disables the others (of which gzip). Fixes:3cf2782906
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
import os
|
|
|
|
import infra.basetest
|
|
|
|
|
|
class TestSquashfs(infra.basetest.BRTest):
|
|
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
|
|
"""
|
|
BR2_TARGET_ROOTFS_SQUASHFS=y
|
|
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y
|
|
# BR2_TARGET_ROOTFS_TAR is not set
|
|
"""
|
|
|
|
def test_run(self):
|
|
unsquashfs_cmd = ["host/bin/unsquashfs", "-s", "images/rootfs.squashfs"]
|
|
out = infra.run_cmd_on_host(self.builddir, unsquashfs_cmd)
|
|
out = out.splitlines()
|
|
self.assertEqual(out[0],
|
|
"Found a valid SQUASHFS 4:0 superblock on images/rootfs.squashfs.")
|
|
self.assertEqual(out[3], "Compression lzo")
|
|
|
|
img = os.path.join(self.builddir, "images", "rootfs.squashfs")
|
|
infra.img_round_power2(img)
|
|
|
|
self.emulator.boot(arch="armv7",
|
|
kernel="builtin",
|
|
kernel_cmdline=["root=/dev/mmcblk0",
|
|
"rootfstype=squashfs"],
|
|
options=["-drive", "file={},if=sd,format=raw".format(img)])
|
|
self.emulator.login()
|
|
|
|
cmd = "mount | grep '/dev/root on / type squashfs'"
|
|
self.assertRunOk(cmd)
|