[arch-general] xz compression in kernel 2.6.38

KESHAV P.R. skodabenz at gmail.com
Wed Mar 16 14:00:54 EDT 2011

On Wed, Mar 16, 2011 at 22:42, Thomas Bächler <thomas at archlinux.org> wrote:
> Am 16.03.2011 17:12, schrieb KESHAV P.R.:
>> On Wed, Mar 16, 2011 at 20:12, KESHAV P.R. <skodabenz at gmail.com> wrote:
>>> On Wed, Mar 16, 2011 at 20:09, Gaetan Bisson <bisson at archlinux.org> wrote:
>>>> [2011-03-16 19:58:23 +0530] KESHAV P.R.:
>>>>> Now that kernel 2.6.38 supports xz (lzma2, not lzma), how
>>>>> about using it as the default compression for the kernel and
>>>>> initramfs. mkinitcpio simply requires COMPRESSION="xz" to generate
>>>>> lzma2 compressed initramfs. But xz compressed kernel requires change
>>>>> in the config option and once module-init-toools supports xz
>>>>> compressed modules we can say good bye to gzip.
>> mkinitcpio.conf requires COMPRESSION="xz --check=crc32" , not simply
>> "xz" since crc64 (default) checksum is not supported by kernel
>> de-compressor. See
>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/xz.txt;hb=HEAD
> Thanks for this info. There is one request to remove the "-9" default
> compression ratio, so this is probably a good time to change how
> compression is handled for mkinitcpio. The advantage of xz over lzma
> shouldn't be that big in any case.

Kernel documentation recommends using a 1MiB dictionary max (for the
kernel, maybe more for initramfs), not 64MiB that is required for -9
option. Otherwise it is better to have specific compression level
option for each format in mkinitcpio.conf instead of the actual
mkinitcpio script. In case of xz, kernel docs recommends

I am typing this from Arch x86_64 2.6.38 with xz --check=crc32 -9
compressed initramfs. I don't know about any problems with -9 option,
except maaybe amount of memory required to decompress.

- Keshav

Offnote: What happened to Big Kernel Lock (in the config)

More information about the arch-general mailing list