Bug #414581: ensure built-in initramfs compress config options are set to avoid silen...
authorRobin H. Johnson <robbat2@gentoo.org>
Sat, 13 Oct 2012 22:02:59 +0000 (22:02 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Sat, 13 Oct 2012 22:02:59 +0000 (22:02 +0000)
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
ChangeLog
gen_initramfs.sh

index 866046293d29e30c789560ae0c26f2a142ae6703..44477b5130187e46430b77c382f0a5ffca3da19b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@
 # Distributed under the GPL v2
 # $Id$
 
+  13 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> gen_initramfs.sh:
+  Bug #414581: ensure built-in initramfs compress config options are set to
+  avoid silentoldconfig bailing out.
+
   13 Oct 2012; Ćukasz Stelmach <stlman@poczta.fm> gen_cmdline.sh,
   gen_compile.sh, gen_configkernel.sh, gen_determineargs.sh, gen_funcs.sh,
   genkernel:
index f986ed4f202b5a5e7b50349d1f015b28f48d87c1..55b9dd9ab99420974fd91ebb873ce8d1dbafeee0 100755 (executable)
@@ -802,10 +802,28 @@ create_initramfs() {
                # The kernel will do a better job of it than us.
                mv ${TMPDIR}/initramfs-${KV} ${TMPDIR}/initramfs-${KV}.cpio
                sed -i '/^.*CONFIG_INITRAMFS_SOURCE=.*$/d' ${KERNEL_DIR}/.config
+               compress_config='INITRAMFS_COMPRESSION_NONE'
+               case ${compress_ext} in
+                       gz)  compress_config='INITRAMFS_COMPRESSION_GZIP' ;;
+                       bz2) compress_config='INITRAMFS_COMPRESSION_BZIP2' ;;
+                       lzma) compress_config='INITRAMFS_COMPRESSION_LZMA' ;;
+                       xz) compress_config='INITRAMFS_COMPRESSION_XZ' ;;
+                       lzo) compress_config='INITRAMFS_COMPRESSION_LZO' ;;
+                       *) compress_config='INITRAMFS_COMPRESSION_NONE' ;;
+               esac
+               # All N default except XZ, so there it gets used if the kernel does
+               # compression on it's own.
                cat >>${KERNEL_DIR}/.config     <<-EOF
                CONFIG_INITRAMFS_SOURCE="${TMPDIR}/initramfs-${KV}.cpio${compress_ext}"
                CONFIG_INITRAMFS_ROOT_UID=0
                CONFIG_INITRAMFS_ROOT_GID=0
+               CONFIG_INITRAMFS_COMPRESSION_NONE=n
+               CONFIG_INITRAMFS_COMPRESSION_GZIP=n
+               CONFIG_INITRAMFS_COMPRESSION_BZIP2=n
+               CONFIG_INITRAMFS_COMPRESSION_LZMA=n
+               CONFIG_INITRAMFS_COMPRESSION_XZ=y
+               CONFIG_INITRAMFS_COMPRESSION_LZO=n
+               CONFIG_${compress_config}=y
                EOF
        else
                if isTrue "${COMPRESS_INITRD}"