A few times now I’ve encountered systems with kernels that have SquashFS but do not support XZ compression (
N or unset). This leads to an error like
$ sudo snap install hello-world
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount:
/tmp/sanity-mountpoint-800880629: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error.
Filesystem uses "xz" compression. This is not supported
Are there any options for getting snaps to work on these systems, short of rebuilding the full kernel?
Searching online doesn’t turn up anything very useful. A question on StackExchange has people talking about building
squashfs-tools from source, but presumably that’s irrelevant since the kernel doesn’t use those tools to mount the image. (I tried anyway…as expected didn’t make a difference).
My latest attempt involved building
squashfs.ko as a kernel module with the XZ option turned on. But the kernel I’m building for already has SquashFS support built in, so attempting to load my custom module doesn’t do anything (not even any errors from
modprobe). I haven’t been able to find definitive resources on this, but I suspect that replacing built-in functionality with a module is simply not a thing.
squashfuse, but after installing it it seems that the system still tries to mount via the kernel, and fails with the same error (and never tries to use
So I can’t think of an alternative to building a custom kernel. Am I missing anything else that I could try?