Hello Andrew,
Thank you so much for reviewing these patches.
+-- On Mon, 23 Sep 2013, Andrew Morton wrote --+
| It's a bit confusing whether all this appiles to initrd, to initramfs
| or to both. Can you please clarify all this and be sure that it's all
| consistent?
IIUC, we no longer use initrd block device images. Instead we use initramfs
which is a cpio(1) archive image. Both mkinitrd(8) & dracut(8) are invoked
from /sbin/new-kernel-pkg tool. And mkinitrd(8) is nothing but a wrapper
around dracut(8) these days.
Looking at the dracut(8) tool, it seems it can easily support any number of
compression tools, for it already has options --gzip, --bzip2, --xz & --lzma.
Adding --lzo, --lz4 etc won't be much difficult.
| - Can we avoid having to update dracut each time a new compression
| scheme is added? I assume your dracut changes will just exec
| "$INITRD_COMPRESS -d", so as long as any new decompression
| application uses the expected -d argument in the expected way, it
| should work seamlessly?
Yes, dracut(8) has | --compress=$INITRD_COMPRESS | option which could be
used to pass compression program to dracut(8).
Not sure if dracut(8) expects
an absolute path or just the program name. But to use this option, we'll need
to patch /sbin/new-kernel-pkg tool.
Alternatively, dracut(8) could be patched to recognise and read
$INITRD_COMPRESS variable and internally it can define precedence order
between environment variable, command-line options and default fall-back
option.