diff -ur /usr/share/genkernel/gen_cmdline.sh ./gen_cmdline.sh --- /usr/share/genkernel/gen_cmdline.sh 2007-04-12 12:44:47.000000000 +0100 +++ ./gen_cmdline.sh 2007-10-03 17:17:58.978942739 +0100 @@ -77,6 +77,7 @@ echo " --> 'emerge evms' in the host operating system" echo " first" echo " --lvm2 Include LVM2 support" + echo " --mdadm Copy /etc/mdadm.conf to initramfs" # echo " --unionfs Include UNIONFS support" echo " --dmraid Include DMRAID support" echo " --suspend Include userspace suspend/resume (uswsusp) support" @@ -227,6 +228,10 @@ print_warning 1 "This code is subject to change at any time." echo ;; + --mdadm) + CMD_MDADM=1 + print_info 2 "CMD_MDADM: $CMD_MDADM" + ;; --lvm2) CMD_LVM2=1 print_info 2 "CMD_LVM2: $CMD_LVM2" diff -ur /usr/share/genkernel/gen_determineargs.sh ./gen_determineargs.sh --- /usr/share/genkernel/gen_determineargs.sh 2007-04-12 12:44:47.000000000 +0100 +++ ./gen_determineargs.sh 2007-10-03 17:17:58.979942825 +0100 @@ -465,6 +465,13 @@ DMRAID=0 fi + if isTrue "${CMD_MDADM}" + then + MDADM=1 + else + MDADM=0 + fi + get_KV UNIONFS_MODULES_BINCACHE=`kv_replace "${UNIONFS_MODULES_BINCACHE}"` } diff -ur /usr/share/genkernel/gen_initramfs.sh ./gen_initramfs.sh --- /usr/share/genkernel/gen_initramfs.sh 2007-04-12 12:44:48.000000000 +0100 +++ ./gen_initramfs.sh 2007-10-03 17:17:58.979942825 +0100 @@ -289,6 +289,20 @@ rm -r "${TEMP}/initramfs-evms2-temp/" } +append_mdadm(){ + if [ -d "${TEMP}/initramfs-mdadm-temp" ] + then + rm -r "${TEMP}/initramfs-mdadm-temp/" + fi + cd ${TEMP} + mkdir -p "${TEMP}/initramfs-mdadm-temp/etc/" + [ "${MDADM}" -eq '1' ] && { /bin/cp -f /etc/mdadm.conf "${TEMP}/initramfs-udev-temp/etc" || + gen_die "Could not copy mdadm.conf!"; } + cd "${TEMP}/initramfs-mdadm-temp/" + find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" + rm -rf "${TEMP}/initramfs-mdadm-temp" > /dev/null +} + append_gensplash(){ if [ -x /usr/bin/splash_geninitramfs ] || [ -x /sbin/splash_geninitramfs ] then @@ -500,6 +514,7 @@ append_data 'lvm2' "${LVM2}" append_data 'dmraid' "${DMRAID}" append_data 'evms2' "${EVMS2}" + append_data 'mdadm' "${MDADM}" if [ "${NOINITRDMODULES}" = '' ] then diff -ur /usr/share/genkernel/generic/initrd.scripts ./generic/initrd.scripts --- /usr/share/genkernel/generic/initrd.scripts 2007-04-12 12:44:48.000000000 +0100 +++ ./generic/initrd.scripts 2007-10-03 17:17:58.980942911 +0100 @@ -557,6 +557,15 @@ ln -sf /dev/device-mapper /dev/mapper/control fi + if [ "${USE_MDADM}" -eq '1' ] + then + if [ ! -e '/etc/mdadm.conf' ] + then + /sbin/mdadm --examine > /etc/mdadm.conf + fi + /sbin/mdadm --assemble + fi + if [ "${USE_DMRAID_NORMAL}" -eq '1' ] then if [ -e '/sbin/dmraid' ] diff -ur /usr/share/genkernel/generic/linuxrc ./generic/linuxrc --- /usr/share/genkernel/generic/linuxrc 2007-04-12 12:44:48.000000000 +0100 +++ ./generic/linuxrc 2007-10-03 17:17:58.980942911 +0100 @@ -119,6 +119,9 @@ dolvm2) USE_LVM2_NORMAL=1 ;; + domdadm) + USE_MDADM=1 + ;; dodmraid) USE_DMRAID_NORMAL=1 ;; Only in /usr/share/genkernel/pkg: busybox-1.1.3+gentoo.tar.bz2 diff -ur /usr/share/genkernel/x86/busy-config ./x86/busy-config --- /usr/share/genkernel/x86/busy-config 2007-04-12 12:44:46.000000000 +0100 +++ ./x86/busy-config 2007-10-03 17:17:59.661001198 +0100 @@ -376,6 +376,7 @@ # CONFIG_IPCRM is not set # CONFIG_IPCS is not set CONFIG_LOSETUP=y +CONFIG_MDADM=y CONFIG_MDEV=y # CONFIG_FEATURE_MDEV_CONF is not set CONFIG_MDSTART=y