Bug#626446: initramfs-tools: [Patch] Option to enable xz compression for initrd
Package: initramfs-tools
Version: 0.98.8
Severity: wishlist
Tags: patch
Since the linux kernel (e.g. linux-image-2.6.38-2-686) on Debian Sid has enabled XZ initrd option, i.e. CONFIG_RD_XZ=y, it would be great to have an option to use XZ initrd. This is specially useful to Debian live, the size could be smaller.
Attached please find the patch to enable it.
My 2 cents.
-- Package-specific info:
-- initramfs sizes
-rw-r--r-- 1 root root 11M May 12 11:58 /boot/initrd.img-2.6.39-rc6-686-pae
-- /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.39-rc6-686-pae root=UUID=de8a2656-f7f2-4401-a4c7-3ca819181c9b ro
-- resume
RESUME=/dev/sda5
-- /proc/filesystems
btrfs
ext3
fuseblk
ext2
ext4
reiserfs
xfs
jfs
msdos
vfat
ntfs
minix
hfs
hfsplus
qnx4
ufs
-- lsmod
Module Size Used by
ufs 60850 0
qnx4 12992 0
hfsplus 70149 0
hfs 44669 0
minix 26769 0
ntfs 165605 0
vfat 16989 0
msdos 12822 0
fat 44149 2 vfat,msdos
jfs 138429 0
xfs 528900 0
reiserfs 178367 0
ext4 275132 0
jbd2 55701 1 ext4
crc16 12327 1 ext4
ext2 53488 0
ipt_MASQUERADE 12530 2
iptable_nat 12800 1
nf_nat 17733 2 ipt_MASQUERADE,iptable_nat
nf_conntrack_ipv4 13649 3 iptable_nat,nf_nat
nf_conntrack 42383 4 ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4
nf_defrag_ipv4 12443 1 nf_conntrack_ipv4
iptable_filter 12488 0
ip_tables 16998 2 iptable_nat,iptable_filter
x_tables 17969 4 ipt_MASQUERADE,iptable_nat,iptable_filter,ip_tables
fuse 55666 1
loop 17777 0
ext3 102125 1
jbd 40818 1 ext3
mbcache 12810 3 ext4,ext2,ext3
raid10 25831 0
raid456 51462 0
async_raid6_recov 12459 1 raid456
async_pq 12503 2 raid456,async_raid6_recov
raid6_pq 86733 2 async_raid6_recov,async_pq
async_xor 12390 3 raid456,async_raid6_recov,async_pq
xor 21454 1 async_xor
async_memcpy 12363 2 raid456,async_raid6_recov
async_tx 12510 5 raid456,async_raid6_recov,async_pq,async_xor,async_memcpy
raid1 25752 0
raid0 16828 0
multipath 12832 0
linear 12665 0
md_mod 80556 6 raid10,raid456,raid1,raid0,multipath,linear
dm_mirror 17249 0
dm_region_hash 13072 1 dm_mirror
dm_log 13269 2 dm_mirror,dm_region_hash
dm_mod 56401 2 dm_mirror,dm_log
btrfs 459447 0
zlib_deflate 21186 1 btrfs
crc32c 12576 1
libcrc32c 12394 1 btrfs
sg 21385 0
sd_mod 35060 3
crc_t10dif 12332 1 sd_mod
sr_mod 17418 0
cdrom 34631 1 sr_mod
ata_generic 12439 0
ata_piix 21079 2
uhci_hcd 21850 0
mptspi 17666 0
mptscsih 22263 1 mptspi
floppy 47893 0
libata 132100 2 ata_generic,ata_piix
ehci_hcd 34885 0
mptbase 51867 2 mptspi,mptscsih
scsi_transport_spi 19032 1 mptspi
usbcore 103321 3 uhci_hcd,ehci_hcd
scsi_mod 134414 7 sg,sd_mod,sr_mod,mptspi,mptscsih,libata,scsi_transport_spi
pcnet32 31012 0
mii 12595 1 pcnet32
-- /etc/initramfs-tools/modules
-- /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=y
KEYMAP=n
COMPRESS=gzip
BOOT=local
DEVICE=
NFSROOT=auto
-- /etc/initramfs-tools/update-initramfs.conf
update_initramfs=yes
backup_initramfs=no
-- /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
-- mkinitramfs hooks
/etc/initramfs-tools/hooks/:
/usr/share/initramfs-tools/hooks:
btrfs
busybox
dmraid
dmsetup
keymap
klibc
lvm2
mdadm
thermal
udev
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.39-rc6-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages initramfs-tools depends on:
ii cpio 2.11-7 GNU cpio -- a program to manage ar
ii findutils 4.4.2-1+b1 utilities for finding files--find,
ii klibc-utils 1.5.21-1 small utilities built with klibc f
ii module-init-tools 3.12-1 tools for managing Linux kernel mo
ii udev 168-2 /dev/ and hotplug management daemo
Versions of packages initramfs-tools recommends:
ii busybox 1:1.18.4-2 Tiny utilities for small and embed
Versions of packages initramfs-tools suggests:
ii bash-completion 1:1.3-1 programmable completion for the ba
-- no debconf information
diff -uNr initramfs-tools-0.98.8/conf/initramfs.conf initramfs-tools-0.98.8.new/conf/initramfs.conf
--- initramfs-tools-0.98.8/conf/initramfs.conf 2010-08-26 03:32:27.000000000 +0800
+++ initramfs-tools-0.98.8.new/conf/initramfs.conf 2011-05-12 09:49:57.000000000 +0800
@@ -36,7 +36,7 @@
KEYMAP=n
#
-# COMPRESS: [ gzip | bzip2 | lzma | lzop ]
+# COMPRESS: [ gzip | bzip2 | lzma | lzop | xz ]
#
COMPRESS=gzip
diff -uNr initramfs-tools-0.98.8/mkinitramfs initramfs-tools-0.98.8.new/mkinitramfs
--- initramfs-tools-0.98.8/mkinitramfs 2011-01-28 22:09:09.000000000 +0800
+++ initramfs-tools-0.98.8.new/mkinitramfs 2011-05-12 09:49:27.000000000 +0800
@@ -149,6 +149,8 @@
[ "${compress}" = lzop ] && compress="lzop -9"
+[ "${compress}" = xz ] && compress="xz -9 --check=crc32"
+
if [ -d "${outfile}" ]; then
echo "${outfile} is a directory" >&2
exit 1
Reply to: