1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/usr/bin/ash
- run_hook() {
- local i= mdconfig=/etc/mdadm.conf
- # for partitionable raid, we need to load md_mod first!
- modprobe md_mod 2>/dev/null
- if [ -n "$md" ]; then
- echo 'DEVICE partitions' >"$mdconfig"
- for i in $(cat /proc/cmdline); do
- case $i in
- # raid
- md=[0-9]*,/*)
- device=${i%%,*}
- device=${device/=/}
- array=${i#*,}
- echo "ARRAY /dev/$device devices=$array"
- ;;
- # partitionable raid
- md=d[0-9]*,/*)
- device=${i%%,*}
- device=${device/=/_}
- array=${i#*,}
- echo "ARRAY /dev/$device devices=$array"
- ;;
- # raid UUID
- md=[0-9]*,[0-9,a-fA-F]*)
- device=${i%%,*}
- device=${device/=/}
- array=${i#*,}
- echo "ARRAY /dev/$device UUID=$array"
- ;;
- # partitionable raid UUID
- md=d[0-9]*,[0-9,a-fA-F]*)
- device=${i%%,*}
- device=${device/=/_}
- array=${i#*,}
- echo "ARRAY /dev/$device UUID=$array"
- ;;
- esac
- done >>"$mdconfig"
- fi
- # assemble everything
- [ -s "$mdconfig" ] && /usr/bin/mdassemble
- }
- # vim: set ft=sh ts=4 sw=4 et:
|