Use actual kernel config for check of available compression methods (bug #436820)

cleanup-cruft
Sebastian Pipping 12 years ago
parent d89f3d59e8
commit 773a8801d6

@ -5,6 +5,10 @@
# Distributed under the GPL v2 # Distributed under the GPL v2
# $Id$ # $Id$
03 Oct 2012; Sebastian Pipping <sping@gentoo.org> gen_initramfs.sh:
Use actual kernel config for check of available compression methods (bug
#436820)
03 Oct 2012; Dustin Frisch <dustin.frisch@gmail.com> defaults/linuxrc: 03 Oct 2012; Dustin Frisch <dustin.frisch@gmail.com> defaults/linuxrc:
With boot parameter real_init=/foo look for ${NEW_ROOT}/foo, not With boot parameter real_init=/foo look for ${NEW_ROOT}/foo, not
${NEW_ROOT}/sbin/init (bug #437080) ${NEW_ROOT}/sbin/init (bug #437080)

@ -809,7 +809,15 @@ create_initramfs() {
else else
if isTrue "${COMPRESS_INITRD}" if isTrue "${COMPRESS_INITRD}"
then then
if [[ "$(file --brief --mime-type "${KERNEL_CONFIG}")" == application/x-gzip ]]; then # NOTE: We do not work with ${KERNEL_CONFIG} here, since things like
# "make oldconfig" or --noclean could be in effect.
if [ -f "${KERNEL_DIR}"/.config ]; then
local ACTUAL_KERNEL_CONFIG="${KERNEL_DIR}"/.config
else
local ACTUAL_KERNEL_CONFIG="${KERNEL_CONFIG}"
fi
if [[ "$(file --brief --mime-type "${ACTUAL_KERNEL_CONFIG}")" == application/x-gzip ]]; then
# Support --kernel-config=/proc/config.gz, mainly # Support --kernel-config=/proc/config.gz, mainly
local CONFGREP=zgrep local CONFGREP=zgrep
else else
@ -840,12 +848,12 @@ create_initramfs() {
set -- ${tuple} set -- ${tuple}
kernel_option=$1 kernel_option=$1
cmd_variable_name=$2 cmd_variable_name=$2
if ${CONFGREP} -q "^${kernel_option}=y" "${KERNEL_CONFIG}" && test -n "${!cmd_variable_name}" ; then if ${CONFGREP} -q "^${kernel_option}=y" "${ACTUAL_KERNEL_CONFIG}" && test -n "${!cmd_variable_name}" ; then
compression=$3 compression=$3
[[ ${COMPRESS_INITRD_TYPE} == best ]] && break [[ ${COMPRESS_INITRD_TYPE} == best ]] && break
fi fi
done done
[[ -z "${compression}" ]] && gen_die "None of the initramfs we tried are supported by your kernel (config file \"${KERNEL_CONFIG}\"), strange!?" [[ -z "${compression}" ]] && gen_die "None of the initramfs compression methods we tried are supported by your kernel (config file \"${ACTUAL_KERNEL_CONFIG}\"), strange!?"
;; ;;
*) *)
gen_die "Compression '${COMPRESS_INITRD_TYPE}' unknown" gen_die "Compression '${COMPRESS_INITRD_TYPE}' unknown"

Loading…
Cancel
Save