aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP J P <ppandit@redhat.com>2013-11-12 18:11:44 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-12 22:09:36 -0500
commit1bf49dd4be0b000030c6f04c4a16a17d9affdbd3 (patch)
treea4defe0519060101b6c27a6e1f3dad7b5590cb85
parent69f0554ec261fd686ac7fa1c598cc9eb27b83a80 (diff)
./Makefile: export initial ramdisk compression config option
Make menuconfig allows one to choose compression format of an initial ramdisk image. But this choice does not result in duly compressed ramdisk image. Because - $ make install - does not pass on the selected compression choice to the dracut(8) tool, which creates the initramfs file. dracut(8) generates the image with the default compression, ie. gzip(1). This patch exports the selected compression option to a sub-shell environment, so that it could be used by dracut(8) tool to generate appropriately compressed initramfs images. There isn't a straightforward way to pass on options to dracut(8) via positional parameters. Because it is indirectly invoked at the end of a $ make install sequence. # make install -> arch/$arch/boot/Makefile -> arch/$arch/boot/install.sh -> /sbing/installkernel ... -> /sbin/new-kernel-pkg ... -> /sbin/dracut ... Signed-off-by: P J P <ppandit@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--Makefile16
-rw-r--r--init/do_mounts_rd.c5
2 files changed, 21 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 67077ad6edbb..606a66cdcdb8 100644
--- a/Makefile
+++ b/Makefile
@@ -720,6 +720,22 @@ mod_strip_cmd = true
720endif # INSTALL_MOD_STRIP 720endif # INSTALL_MOD_STRIP
721export mod_strip_cmd 721export mod_strip_cmd
722 722
723# Select initial ramdisk compression format, default is gzip(1).
724# This shall be used by the dracut(8) tool while creating an initramfs image.
725#
726INITRD_COMPRESS=gzip
727ifeq ($(CONFIG_RD_BZIP2), y)
728 INITRD_COMPRESS=bzip2
729else ifeq ($(CONFIG_RD_LZMA), y)
730 INITRD_COMPRESS=lzma
731else ifeq ($(CONFIG_RD_XZ), y)
732 INITRD_COMPRESS=xz
733else ifeq ($(CONFIG_RD_LZO), y)
734 INITRD_COMPRESS=lzo
735else ifeq ($(CONFIG_RD_LZ4), y)
736 INITRD_COMPRESS=lz4
737endif
738export INITRD_COMPRESS
723 739
724ifdef CONFIG_MODULE_SIG_ALL 740ifdef CONFIG_MODULE_SIG_ALL
725MODSECKEY = ./signing_key.priv 741MODSECKEY = ./signing_key.priv
diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c
index 143e98de6f29..7c098ac9068a 100644
--- a/init/do_mounts_rd.c
+++ b/init/do_mounts_rd.c
@@ -57,6 +57,11 @@ static int __init crd_load(int in_fd, int out_fd, decompress_fn deco);
57 * cramfs 57 * cramfs
58 * squashfs 58 * squashfs
59 * gzip 59 * gzip
60 * bzip2
61 * lzma
62 * xz
63 * lzo
64 * lz4
60 */ 65 */
61static int __init 66static int __init
62identify_ramdisk_image(int fd, int start_block, decompress_fn *decompressor) 67identify_ramdisk_image(int fd, int start_block, decompress_fn *decompressor)