dracut: Always start mdraids

This commit is contained in:
Michael Tremer
2014-09-05 14:38:52 +02:00
parent 28191cfc5b
commit 0a325292d7
2 changed files with 56 additions and 0 deletions

View File

@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dracut-038-always-enable-mdraid.patch
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install sbindir=/sbin sysconfdir=/etc

View File

@@ -0,0 +1,55 @@
diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index dd7bda2..7bc944c 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -4,32 +4,26 @@
MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
-if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then
- info "rd.md=0: removing MD RAID activation"
- udevproperty rd_NO_MD=1
-else
- # rewrite the md rules to only process the specified raid array
- if [ -n "$MD_UUID" ]; then
- for f in /etc/udev/rules.d/65-md-incremental*.rules; do
- [ -e "$f" ] || continue
- while read line; do
- if [ "${line%%UUID CHECK}" != "$line" ]; then
- printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
- for uuid in $MD_UUID; do
- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
- done;
- printf 'GOTO="md_end"\n'
- printf 'LABEL="md_uuid_ok"\n'
- else
- echo "$line"
- fi
- done < "${f}" > "${f}.new"
- mv "${f}.new" "$f"
- done
- fi
+# rewrite the md rules to only process the specified raid array
+if [ -n "$MD_UUID" ]; then
+ for f in /etc/udev/rules.d/65-md-incremental*.rules; do
+ [ -e "$f" ] || continue
+ while read line; do
+ if [ "${line%%UUID CHECK}" != "$line" ]; then
+ printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
+ for uuid in $MD_UUID; do
+ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
+ done;
+ printf 'GOTO="md_end"\n'
+ printf 'LABEL="md_uuid_ok"\n'
+ else
+ echo "$line"
+ fi
+ done < "${f}" > "${f}.new"
+ mv "${f}.new" "$f"
+ done
fi
-
if [ -e /etc/mdadm.conf ] && getargbool 1 rd.md.conf -d -n rd_NO_MDADMCONF; then
udevproperty rd_MDADMCONF=1
rm -f -- $hookdir/pre-pivot/*mdraid-cleanup.sh