#etc/rc.d/init.d/bluetooth
etc/rc.d/init.d/checkfs
etc/rc.d/init.d/checkfstab
+etc/rc.d/init.d/waitdrives
#etc/rc.d/init.d/clamav
etc/rc.d/init.d/cleanfs
#etc/rc.d/init.d/client175
etc/rc.d/rcsysinit.d/S05modules
etc/rc.d/rcsysinit.d/S10udev
etc/rc.d/rcsysinit.d/S19checkfstab
+etc/rc.d/rcsysinit.d/S19waitdrives
etc/rc.d/rcsysinit.d/S20swap
etc/rc.d/rcsysinit.d/S30checkfs
etc/rc.d/rcsysinit.d/S40mountfs
etc/system-release
etc/rc.d/init.d/squid
+etc/rc.d/init.d/waitdrives
+etc/rc.d/rcsysinit.d/S19waitdrives
var/ipfire/backup/bin/backup.pl
srv/web/ipfire/cgi-bin/ids.cgi
srv/web/ipfire/cgi-bin/ovpnmain.cgi
ln -sf ../init.d/modules /etc/rc.d/rcsysinit.d/S05modules
ln -sf ../init.d/udev /etc/rc.d/rcsysinit.d/S10udev
ln -sf ../init.d/checkfstab /etc/rc.d/rcsysinit.d/S19checkfstab
+ ln -sf ../init.d/waitdrives /etc/rc.d/rcsysinit.d/S19waitdrives
ln -sf ../init.d/swap /etc/rc.d/rcsysinit.d/S20swap
ln -sf ../init.d/checkfs /etc/rc.d/rcsysinit.d/S30checkfs
ln -sf ../init.d/mountfs /etc/rc.d/rcsysinit.d/S40mountfs
--- /dev/null
+#!/bin/sh
+########################################################################
+# Begin $rc_base/init.d/waitdrives
+#
+# Description : Wait for drives before fscheck/mount
+#
+# Authors : Arne Fitzenreiter - arne_f@ipfire.org
+#
+# Version : 00.00
+#
+# Notes :
+#
+########################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+check_drives () {
+ drives_ready="1";
+ for drive in $drives; do
+ if [ `blkid | grep $drive | wc -l` == 0 ]; then
+ drives_ready="0";
+ fi
+ done
+}
+
+case "${1}" in
+ start)
+ if [ -e /sbin/mdadm ]; then
+ boot_mesg "Assemble mdadm managed raid-drives ..."
+ mdadm --assemble --scan
+ fi
+
+ drives=`grep "^UUID=" /etc/fstab | cut -f1 | cut -d" " -f1 | cut -d"=" -f2`;
+
+ check_drives;
+ if [ "$drives_ready" == "0" ]; then
+ boot_mesg -n "Wait for devices used in fstab "
+ for (( i=1; i<30; i++)) do
+ check_drives;
+ if [ "$drives_ready" == "1" ]; then
+ break;
+ fi
+ boot_mesg -n "."
+ sleep 1
+ done
+ fi
+ exit 0;
+ ;;
+ *)
+ echo "Usage: ${0} {start}"
+ exit 1
+ ;;
+esac
+
+# End $rc_base/init.d/waitdrives