mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
44 lines
1.7 KiB
Text
44 lines
1.7 KiB
Text
|
# vim: set ft=sh:
|
||
|
run_hook ()
|
||
|
{
|
||
|
input="$(cat /proc/cmdline)"
|
||
|
mdconfig="/etc/mdadm.conf"
|
||
|
# for partitionable raid, we need to load md_mod first!
|
||
|
modprobe md_mod 2>/dev/null
|
||
|
# If md is specified on commandline, create config file from those parameters.
|
||
|
if [ "$(echo $input | grep "md=")" ]; then
|
||
|
#Create initial mdadm.conf
|
||
|
# scan all devices in /proc/partitions
|
||
|
echo DEVICE partitions > $mdconfig
|
||
|
for i in $input; do
|
||
|
case $i in
|
||
|
# raid
|
||
|
md=[0-9]*,/*)
|
||
|
device="$(echo "$i" | sed -e 's|,/.*||g' -e 's|=||g')"
|
||
|
array="$(echo $i | cut -d, -f2-)"
|
||
|
echo "ARRAY /dev/$device devices=$array" >> $mdconfig
|
||
|
;;
|
||
|
# partitionable raid
|
||
|
md=d[0-9]*,/*)
|
||
|
device="$(echo "$i" | sed -e 's|,/.*||g' -e 's|=|_|g')"
|
||
|
array="$(echo $i | cut -d, -f2-)"
|
||
|
echo "ARRAY /dev/$device devices=$array" >> $mdconfig
|
||
|
;;
|
||
|
# raid UUID
|
||
|
md=[0-9]*,[0-9,a-z]*)
|
||
|
device="$(echo "$i" | sed -e 's|,.*||g' -e 's|=||g')"
|
||
|
array="$(echo $i | cut -d, -f2-)"
|
||
|
echo "ARRAY /dev/$device UUID=$array" >> $mdconfig
|
||
|
;;
|
||
|
# partitionable raid UUID
|
||
|
md=d[0-9]*,[0-9,a-z]*)
|
||
|
device="$(echo "$i" | sed -e 's|,.*||g' -e 's|=|_|g')"
|
||
|
array="$(echo $i | cut -d, -f2-)"
|
||
|
echo "ARRAY /dev/$device UUID=$array" >> $mdconfig
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
fi
|
||
|
# assemble everything
|
||
|
[ -e $mdconfig ] && /sbin/mdassemble
|
||
|
}
|