aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgen_compile.sh2
-rwxr-xr-xgen_configkernel.sh49
-rwxr-xr-xgen_initramfs.sh8
-rwxr-xr-xgen_moddeps.sh6
4 files changed, 34 insertions, 31 deletions
diff --git a/gen_compile.sh b/gen_compile.sh
index c26a6522..8d8f04ae 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -697,7 +697,7 @@ compile_iscsi() {
KEXT=$(modules_kext)
for modname in iscsi_tcp libiscsi scsi_transport_iscsi
do
- module=${CMD_KERNEL_DIR}/drivers/scsi/${modname}${KEXT}
+ module=${KERNEL_OUTPUTDIR}/drivers/scsi/${modname}${KEXT}
if [ -e "${module}" ]
then
cp $module "${TEMP}/initramfs-iscsi-temp/lib/modules/${KV}/kernel/drivers/scsi/"
diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index ac29852c..81b2b529 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -32,6 +32,15 @@ determine_config_file() {
fi
}
+function kconfig_set_opt() {
+ kconfig="$1"
+ optname="$2"
+ optval="$3"
+ sed -i "${kconfig}" \
+ -e "s/^#\? \?${optname}[ =].*/${optname}=${optval}/g" \
+ gen_die "Failed to set ${optname}=${optval} in $kconfig"
+}
+
config_kernel() {
determine_config_file
cd "${KERNEL_DIR}" || gen_die 'Could not switch to the kernel directory!'
@@ -110,30 +119,29 @@ config_kernel() {
if isTrue ${CMD_GENZIMAGE}
then
# Make sure Ext2 support is on...
- sed -e 's/#\? \?CONFIG_EXT2_FS[ =].*/CONFIG_EXT2_FS=y/g' \
- -i ${KERNEL_OUTPUTDIR}/.config
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_EXT2_FS" "y"
fi
# Make sure lvm modules are on if --lvm
if isTrue ${CMD_LVM}
then
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_DM_SNAPSHOT is.*/CONFIG_DM_SNAPSHOT=m/g'
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_DM_MIRROR is.*/CONFIG_DM_MIRROR=m/g'
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_BLK_DEV_DM" "m"
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_DM_SNAPSHOT" "m"
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_DM_MIRROR" "m"
fi
# Multipath
if isTrue ${CMD_MULTIPATH}
then
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH is.*/CONFIG_DM_MULTIPATH=m/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH_RDAC is.*/CONFIG_DM_MULTIPATH_RDAC=m/g'
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_BLK_DEV_DM" "m"
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_DM_MULTIPATH" "m"
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_DM_MULTIPATH_RDAC" "m"
fi
# Make sure dmraid modules are on if --dmraid
if isTrue ${CMD_DMRAID}
then
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_BLK_DEV_DM" "m"
fi
# Make sure iSCSI modules are enabled in the kernel, if --iscsi
@@ -141,28 +149,23 @@ config_kernel() {
# CONFIG_ISCSI_TCP
if isTrue ${CMD_ISCSI}
then
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/\# CONFIG_ISCSI_TCP is not set/CONFIG_ISCSI_TCP=m/g'
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/\# CONFIG_SCSI_ISCSI_ATTRS is not set/CONFIG_SCSI_ISCSI_ATTRS=m/g'
-
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/CONFIG_ISCSI_TCP=y/CONFIG_ISCSI_TCP=m/g'
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/CONFIG_SCSI_ISCSI_ATTRS=y/CONFIG_SCSI_ISCSI_ATTRS=m/g'
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_ISCSI_TCP" "m"
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_SCSI_ISCSI_ATTRS" "m"
fi
if isTrue ${SPLASH}
then
- sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_FB_SPLASH is.*/CONFIG_FB_SPLASH=y/g'
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_FB_SPLASH" "y"
fi
# VirtIO
if isTrue ${CMD_VIRTIO}
then
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_PARAVIRT_GUEST.*/CONFIG_PARAVIRT_GUEST=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_VIRTIO_PCI.*/CONFIG_VIRTIO_PCI=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_VIRTIO_BALLOON.*/CONFIG_VIRTIO_BALLOON=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_VIRTIO_MMIO.*/CONFIG_VIRTIO_MMIO=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_VIRTIO_BLK.*/CONFIG_VIRTIO_BLK=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_SCSI_VIRTIO.*/CONFIG_SCSI_VIRTIO=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_VIRTIO_NET.*/CONFIG_VIRTIO_NET=y/g'
- sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_VHOST_NET.*/CONFIG_VHOST_NET=y/g'
+ for k in \
+ CONFIG_PARAVIRT_GUEST CONFIG_VIRTIO_PCI CONFIG_VIRTIO_BALLOON \
+ CONFIG_VIRTIO_MMIO CONFIG_VIRTIO_BLK CONFIG_SCSI_VIRTIO \
+ CONFIG_VIRTIO_NET CONFIG_VHOST_NET ; do
+ kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_FB_SPLASH" "y"
+ done
fi
}
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 163eedbd..a03f5b1a 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -898,7 +898,7 @@ create_initramfs() {
# Explicitly do not compress if we are integrating into the kernel.
# 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
+ sed -i '/^.*CONFIG_INITRAMFS_SOURCE=.*$/d' ${KERNEL_OUTPUTDIR}/.config
compress_config='INITRAMFS_COMPRESSION_NONE'
case ${compress_ext} in
gz) compress_config='INITRAMFS_COMPRESSION_GZIP' ;;
@@ -911,7 +911,7 @@ create_initramfs() {
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
+ cat >>${KERNEL_OUTPUTDIR}/.config <<-EOF
CONFIG_INITRAMFS_SOURCE="${TMPDIR}/initramfs-${KV}.cpio${compress_ext}"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
@@ -929,8 +929,8 @@ create_initramfs() {
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
+ if [ -f "${KERNEL_OUTPUTDIR}"/.config ]; then
+ local ACTUAL_KERNEL_CONFIG="${KERNEL_OUTPUTDIR}"/.config
else
local ACTUAL_KERNEL_CONFIG="${KERNEL_CONFIG}"
fi
diff --git a/gen_moddeps.sh b/gen_moddeps.sh
index 415e095a..053a1831 100755
--- a/gen_moddeps.sh
+++ b/gen_moddeps.sh
@@ -4,9 +4,9 @@
modules_kext()
{
KEXT=".ko"
- if grep -sq '^CONFIG_MODULE_COMPRESS=y' "${KERNEL_DIR}"/.config; then
- grep -sq '^CONFIG_MODULE_COMPRESS_XZ=y' "${KERNEL_DIR}"/.config && KEXT='.ko.xz'
- grep -sq '^CONFIG_MODULE_COMPRESS_GZIP=y' "${KERNEL_DIR}"/.config && KEXT='.ko.gz'
+ if grep -sq '^CONFIG_MODULE_COMPRESS=y' "${KERNEL_OUTPUTDIR}"/.config; then
+ grep -sq '^CONFIG_MODULE_COMPRESS_XZ=y' "${KERNEL_OUTPUTDIR}"/.config && KEXT='.ko.xz'
+ grep -sq '^CONFIG_MODULE_COMPRESS_GZIP=y' "${KERNEL_OUTPUTDIR}"/.config && KEXT='.ko.gz'
fi
echo ${KEXT}
}