commit:     54a1de904fbff716e7c513d31e07064a499d4512
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 24 14:38:51 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Nov 24 19:59:17 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=54a1de90

gen_configkernel.sh: config_kernel(): Ensure that required kernel options for 
--mdadm are set

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 gen_configkernel.sh | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 6141ba6..7dbcadd 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -340,6 +340,29 @@ config_kernel() {
                        && required_kernel_options+=( 'CONFIG_BCACHE' )
        fi
 
+       # Make sure all modues required for MD raid are enabled in the kernel, 
if --mdadm
+       if isTrue "${CMD_MDADM}"
+       then
+               print_info 2 "$(get_indent 1)>> Ensure that required kernel 
options for MDADM support are set ..."
+               local cfg_CONFIG_BLK_DEV_MD=$(kconfig_get_opt 
"${KERNEL_OUTPUTDIR}/.config" "CONFIG_BLK_DEV_MD")
+               case "${cfg_CONFIG_BLK_DEV_MD}" in
+                       y|m) ;; # Do nothing
+                       *) cfg_CONFIG_BLK_DEV_MD=${newcfg_setting}
+               esac
+
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_BLOCK" "y"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_MD" "y"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_BLK_DEV_DM" "${cfg_CONFIG_BLK_DEV_DM}" \
+                       && required_kernel_options+=( 'CONFIG_BLK_DEV_DM' )
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_BLK_DEV_MD" "${cfg_CONFIG_BLK_DEV_MD}" \
+                       && required_kernel_options+=( 'CONFIG_BLK_DEV_MD' )
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_MD_LINEAR" "${cfg_CONFIG_BLK_DEV_MD}"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_MD_RAID0" 
"${cfg_CONFIG_BLK_DEV_MD}"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_MD_RAID1" 
"${cfg_CONFIG_BLK_DEV_MD}"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_MD_RAID10" "${cfg_CONFIG_BLK_DEV_MD}"
+               kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_MD_RAID456" "${cfg_CONFIG_BLK_DEV_MD}"
+       fi
+
        # Make sure lvm modules are enabled in the kernel, if --lvm
        if isTrue "${CMD_LVM}"
        then

Reply via email to