No this isn't fixed, and it won't be fixed in the Karmic release
timeframe.  I anticipate mainlined LZMA support for Squashfs 4.0 will be
available in kernel 2.6.33.

The underlying reason for this "bug" is because you got your squashfs-
tools and squashfs kernel modules mixed up.  Squashfs has never
officially supported LZMA compression, and the official Squashfs tools
and kernel module releases available from http://squashfs.org has no
support for LZMA.

What complicates the situation is there are unofficial (but approved by
myself) third party LZMA patches available from http://squashfs-lzma.org
for Squashfs 3.x.

What appears to have happened is Debian adopted the LZMA patches for
their Squashfs 3.3 packages, which was inherited by Ubuntu (which is why
comment #3 reports mksquashfs 3.3 switched to LZMA by default).  Debian
will have patched both the squashfs-tools and the squashfs kernel code,
however, while Ubuntu inherited the squashfs-tools changes, it didn't
inherit the squashfs kernel code changes.  This is because the Ubuntu
kernel is produced independently, and the kernel code carries the
original unmodified Squashfs code from http://squashfs.org.  This has
produced a mis-match which has existed up to and including Jaunty.

Having just tested Jaunty mksquashfs, even though it is clearly the LZMA
patched mksquashfs (with the -lzma/-nolzma options), the default has
changed at sometime to building gzipped squashfs filesystems which are
supported by the Jaunty kernel.  So the mis-match isn't as apparent as
it was earlier (although the -lzma option will still produce unmountable
filesystems).

Squashfs 4.0 which I mainlined in kernel 2.6.29 (and so it is the
version used by Karmic) complicates the situation yet further.  Squashfs
4.0 doesn't support LZMA, but there are no third-party LZMA patches
available from http://squashfs-lzma.org.  The site states "There is no
longer any interest in developing separate patches against squashfs 4.0"
as Squashfs has been mainlined.  I can surmise the reason for this is
first because I substantially rewrote the Squashfs 4.0 kernel code for
mainlining, and so their LZMA patches won't work without a substantial
rewrite, and second because the LZMA patches should preferably be
mainlined themselves, and their LZMA patches aren't suitable for
mainlining.

The upshot of this in the short term for Karmic is that your squashfs-
tools/squashfs-kernel mismatch has gone away, because both the squashfs
4.0 tools and the kernel code does not support LZMA.  However, the
downside is you're not going to have LZMA support in Karmic.

In the longer term people are asking me (thanks guys) where LZMA support
for Squashfs 4.0 has gone.  Because Squashfs has been mainlined, and
because there has also been a (poor) implementation of LZMA mainlined,
my original reasons for not supporting LZMA in Squashfs no longer
applies.  I'm therefore currently working on getting Squashfs LZMA
support mainlined.  Because the kernel LZMA implementation requires
substantial modifications to work efficiently with Squashfs, I don't
anticipate the patches entering mainline before 2.6.33, although out of
tree patches may be available before then.

-- 
squashfs kernel module does not support lzma
https://bugs.launchpad.net/bugs/177634
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to