mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
44 lines
No EOL
1.7 KiB
Bash
Executable file
44 lines
No EOL
1.7 KiB
Bash
Executable file
# 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
|
|
} |