60 lines
1 KiB
Bash
Executable file
60 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
PREREQ="mdadm mdrun multipath"
|
|
|
|
prereqs()
|
|
{
|
|
echo "$PREREQ"
|
|
}
|
|
|
|
case $1 in
|
|
# get pre-requisites
|
|
prereqs)
|
|
prereqs
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
|
|
#
|
|
# Helper functions
|
|
#
|
|
message()
|
|
{
|
|
if [ -x /bin/plymouth ] && plymouth --ping; then
|
|
plymouth message --text="$@"
|
|
else
|
|
echo "$@" >&2
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
udev_settle()
|
|
{
|
|
# Wait for udev to be ready, see https://launchpad.net/bugs/85640
|
|
if [ -x /sbin/udevadm ]; then
|
|
/sbin/udevadm settle --timeout=30
|
|
elif [ -x /sbin/udevsettle ]; then
|
|
/sbin/udevsettle --timeout=30
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
|
|
activate_vg()
|
|
{
|
|
# Sanity checks
|
|
if [ ! -x /sbin/lvm ]; then
|
|
[ "$quiet" != "y" ] && message "lvm is not available"
|
|
return 1
|
|
fi
|
|
|
|
# Detect and activate available volume groups
|
|
/sbin/lvm vgscan
|
|
/sbin/lvm vgchange -a y --sysinit
|
|
return $?
|
|
}
|
|
|
|
udev_settle
|
|
activate_vg
|
|
|
|
exit 0
|