1#!/bin/sh 2PREREQ="mdadm mdrun multipath" 3 4prereqs() 5{ 6 echo "$PREREQ" 7} 8 9case $1 in 10# get pre-requisites 11prereqs) 12 prereqs 13 exit 0 14 ;; 15esac 16 17 18# 19# Helper functions 20# 21message() 22{ 23 if [ -x /bin/plymouth ] && plymouth --ping; then 24 plymouth message --text="$@" 25 else 26 echo "$@" >&2 27 fi 28 return 0 29} 30 31udev_settle() 32{ 33 # Wait for udev to be ready, see https://launchpad.net/bugs/85640 34 if [ -x /sbin/udevadm ]; then 35 /sbin/udevadm settle --timeout=30 36 elif [ -x /sbin/udevsettle ]; then 37 /sbin/udevsettle --timeout=30 38 fi 39 return 0 40} 41 42 43activate_vg() 44{ 45 # Sanity checks 46 if [ ! -x /sbin/lvm ]; then 47 [ "$quiet" != "y" ] && message "lvm is not available" 48 return 1 49 fi 50 51 # Detect and activate available volume groups 52 /sbin/lvm vgscan 53 /sbin/lvm vgchange -a y --sysinit 54 return $? 55} 56 57udev_settle 58activate_vg 59 60exit 0 61