mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
dracut: Always start mdraids
This commit is contained in:
@@ -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
|
||||
|
||||
55
src/patches/dracut-038-always-enable-mdraid.patch
Normal file
55
src/patches/dracut-038-always-enable-mdraid.patch
Normal 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
|
||||
Reference in New Issue
Block a user