[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#533903: initramfs-tools: support different compression tools in mkinitramfs



* maximilian attems <max@stro.at> [20090623 00:25]:
> On Sun, 21 Jun 2009, Michael Prokop wrote:

> > Current kernel versions support different decompression options for
> > kernel and initrd:

> >   CONFIG_DECOMPRESS_GZIP
> >   CONFIG_DECOMPRESS_BZIP2
> >   CONFIG_DECOMPRESS_LZMA

> i haven't played with those, but yes why not.
> do you know what happens if initramfs is in lzma but kernel not?

Looking at the kernel source AFAICS (providing the example for lzma):

* CONFIG_KERNEL_LZMA (depends on CONFIG_HAVE_KERNEL_LZMA) is for the
  kernel related part at kernel build time (requires lzma userspace
  tools then) and relevant as well for decompressing a lzma compressed
  kernel during bootup.

* CONFIG_INITRAMFS_COMPRESSION_LZMA (depends on
  CONFIG_DECOMPRESS_LZMA) is for generating the initramfs file at
  kernel build time with lzma compression.

* CONFIG_DECOMPRESS_LZMA is for loading a lzma compressed
  (initramfs) file at bootup.


So the kernel and initramfs parts should be independent from each
other and IMHO it should be enough to check for accordingly set
CONFIG_DECOMPRESS_LZMA support in /boot/config-... when generating a
lzma compressed initramfs file via initramfs-tools.

> > initramfs-tools currently supports gzip only. I'd like to see
> > support for bzip2 and lzma as well, as both of them provide better
> > compression (which is especially interesting for live systems).

> > IMHO the user should get gzip by default (if unset) but be able to
> > choose between gzip, bzip2 and lzma. Something like
> > COMPRESSION=[gzip|bzip2|lzma] in /etc/initramfs-tools/initramfs.conf
> > should provide that.

> > I plan to provide the according code for integration (though I'm
> > running out of time right now, so it might need a few days/weeks).
> > Please ACK my idea if that's in your interest. If have any special
> > configuration variable / implementation wishes please let me know.

> adding the dracut guys on cc, afais they haven't implement it
> yet too, so maybe we can easily agree:
> ~/src/dracut$ egrep gzip dracut
> ( cd "$initdir"; find . |cpio -H newc -o |gzip -9 > "$outfile"; )

Thanks, good idea. Any input/feedback welcome.

regards,
-mika-

Attachment: signature.asc
Description: Digital signature


Reply to: