diff options
author | Peter Hjalmarsson <xake@rymdraket.net> | 2011-02-23 07:10:51 +0100 |
---|---|---|
committer | Sebastian Pipping <sebastian@pipping.org> | 2011-02-24 10:27:10 +0100 |
commit | 7ae5e10474ef720a50b6ae01574036beaa017c38 (patch) | |
tree | b5fe4d1325cf3de9939837552ad1105a65698481 | |
parent | Bump version to 3.4.13 (diff) | |
download | genkernel-7ae5e10474ef720a50b6ae01574036beaa017c38.tar.gz genkernel-7ae5e10474ef720a50b6ae01574036beaa017c38.tar.bz2 genkernel-7ae5e10474ef720a50b6ae01574036beaa017c38.zip |
Introducing MDADM_CONFIG
Make it possible to choose a custom mdadm.conf for your ramdisk.
If not set, no mdadm.conf will be copied, and ramdisk will auto-detect.
This also fixes a regression where genkernel always tried to copy
/etc/mdadm.conf to the ramdisk, failing if it was non-existant.
-rw-r--r-- | doc/genkernel.8.txt | 7 | ||||
-rwxr-xr-x | gen_cmdline.sh | 7 | ||||
-rwxr-xr-x | gen_determineargs.sh | 1 | ||||
-rwxr-xr-x | gen_initramfs.sh | 15 | ||||
-rw-r--r-- | genkernel.conf | 7 |
5 files changed, 31 insertions, 6 deletions
diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index cd276d2b..e82f1ec4 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -246,11 +246,14 @@ INITIALIZATION exist. *--mdadm*:: - Copy '/etc/mdadm.conf' and mdadm/mdmon binaries to initramfs. + Include mdadm/mdmon support. Without sys-fs/mdadm[static] installed, this will compile mdadm for you. +*--mdadm-config*=<file>:: + Use <file> as configfile for MDADM. + *--dmraid*:: - Add DMRAID support. + Include DMRAID support. *--multipath*:: Include Multipath support diff --git a/gen_cmdline.sh b/gen_cmdline.sh index ebf69ea2..506ca3f6 100755 --- a/gen_cmdline.sh +++ b/gen_cmdline.sh @@ -79,7 +79,8 @@ longusage() { echo " --> 'emerge evms' in the host operating system" echo " first" echo " --lvm Include LVM support" - echo " --mdadm Copy /etc/mdadm.conf to initramfs" + echo " --mdadm Include MDADM/MDMON support" + echo " --mdadm-config=<file> Use file as mdadm.conf in initramfs" echo " --dmraid Include DMRAID support" echo " --multipath Include Multipath support" echo " --iscsi Include iSCSI support" @@ -248,6 +249,10 @@ parse_cmdline() { CMD_MDADM=1 print_info 2 "CMD_MDADM: $CMD_MDADM" ;; + --mdadm-config=*) + CMD_MDADM_CONFIG=`parse_opt "$*"` + print_info 2 "CMD_MDADM_CONFIG: $CMD_MDADM_CONFIG" + ;; --no-busybox) CMD_BUSYBOX=0 print_info 2 "CMD_BUSYBOX: ${CMD_BUSYBOX}" diff --git a/gen_determineargs.sh b/gen_determineargs.sh index a55ccecf..e680569e 100755 --- a/gen_determineargs.sh +++ b/gen_determineargs.sh @@ -119,6 +119,7 @@ determine_real_args() { set_config_with_override 1 LUKS CMD_LUKS set_config_with_override 1 GPG CMD_GPG set_config_with_override 1 MDADM CMD_MDADM + set_config_with_override 2 MDADM_CONFIG CMD_MDADM_CONFIG set_config_with_override 1 MULTIPATH CMD_MULTIPATH set_config_with_override 1 FIRMWARE CMD_FIRMWARE set_config_with_override 2 FIRMWARE_DIR CMD_FIRMWARE_DIR "/lib/firmware" diff --git a/gen_initramfs.sh b/gen_initramfs.sh index 582df2cc..2d017fda 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -342,8 +342,19 @@ append_mdadm(){ mkdir -p "${TEMP}/initramfs-mdadm-temp/sbin/" if [ "${MDADM}" = '1' ] then - cp -a /etc/mdadm.conf "${TEMP}/initramfs-mdadm-temp/etc" \ - || gen_die "Could not copy mdadm.conf!" + if [ -n "${MDADM_CONFIG}" ] + then + if [ -f "${MDADM_CONFIG}" ] + then + cp -a "${MDADM_CONFIG}" "${TEMP}/initramfs-mdadm-temp/etc/mdadm.conf" \ + || gen_die "Could not copy mdadm.conf!" + else + gen_die '${MDADM_CONFIG} does not exist!' + fi + else + print_info 1 ' MDADM: Skipping inclusion of mdadm.conf' + fi + if [ -e '/sbin/mdadm' ] && LC_ALL="C" ldd /sbin/mdadm | grep -q 'not a dynamic executable' \ && [ -e '/sbin/mdmon' ] && LC_ALL="C" ldd /sbin/mdmon | grep -q 'not a dynamic executable' then diff --git a/genkernel.conf b/genkernel.conf index 779d71f4..d510339f 100644 --- a/genkernel.conf +++ b/genkernel.conf @@ -70,9 +70,14 @@ USECOLOR="yes" # If included, busybox is rebuilt if the cached copy is out of date. # BUSYBOX="yes" -# Copy /etc/mdadm.conf, mdadm/mdmon binaries to initramfs. +# Includes mdadm/mdmon binaries in initramfs. # Without sys-fs/mdadm[static] installed, this will build a static mdadm. # MDADM="no" +# Specify a custom mdadm.conf. +# If not set the ramdisk will be built without a mdadm.conf and will auto-detect +# arrays during bootup. +# This should generally not be needed. +# MDADM_CONFIG="" # Add Multipath support. # MULTIPATH="no" |