mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-28 03:33:25 +02:00
add initskript to wait until slower drives are present at boot.
fixes: #757
This commit is contained in:
@@ -13,6 +13,7 @@ etc/rc.d/init.d/beep
|
|||||||
#etc/rc.d/init.d/bluetooth
|
#etc/rc.d/init.d/bluetooth
|
||||||
etc/rc.d/init.d/checkfs
|
etc/rc.d/init.d/checkfs
|
||||||
etc/rc.d/init.d/checkfstab
|
etc/rc.d/init.d/checkfstab
|
||||||
|
etc/rc.d/init.d/waitdrives
|
||||||
#etc/rc.d/init.d/clamav
|
#etc/rc.d/init.d/clamav
|
||||||
etc/rc.d/init.d/cleanfs
|
etc/rc.d/init.d/cleanfs
|
||||||
#etc/rc.d/init.d/client175
|
#etc/rc.d/init.d/client175
|
||||||
@@ -202,6 +203,7 @@ etc/rc.d/rcsysinit.d/S00mountkernfs
|
|||||||
etc/rc.d/rcsysinit.d/S05modules
|
etc/rc.d/rcsysinit.d/S05modules
|
||||||
etc/rc.d/rcsysinit.d/S10udev
|
etc/rc.d/rcsysinit.d/S10udev
|
||||||
etc/rc.d/rcsysinit.d/S19checkfstab
|
etc/rc.d/rcsysinit.d/S19checkfstab
|
||||||
|
etc/rc.d/rcsysinit.d/S19waitdrives
|
||||||
etc/rc.d/rcsysinit.d/S20swap
|
etc/rc.d/rcsysinit.d/S20swap
|
||||||
etc/rc.d/rcsysinit.d/S30checkfs
|
etc/rc.d/rcsysinit.d/S30checkfs
|
||||||
etc/rc.d/rcsysinit.d/S40mountfs
|
etc/rc.d/rcsysinit.d/S40mountfs
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
etc/system-release
|
etc/system-release
|
||||||
etc/rc.d/init.d/squid
|
etc/rc.d/init.d/squid
|
||||||
|
etc/rc.d/init.d/waitdrives
|
||||||
|
etc/rc.d/rcsysinit.d/S19waitdrives
|
||||||
var/ipfire/backup/bin/backup.pl
|
var/ipfire/backup/bin/backup.pl
|
||||||
srv/web/ipfire/cgi-bin/ids.cgi
|
srv/web/ipfire/cgi-bin/ids.cgi
|
||||||
srv/web/ipfire/cgi-bin/ovpnmain.cgi
|
srv/web/ipfire/cgi-bin/ovpnmain.cgi
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ $(TARGET) :
|
|||||||
ln -sf ../init.d/modules /etc/rc.d/rcsysinit.d/S05modules
|
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/udev /etc/rc.d/rcsysinit.d/S10udev
|
||||||
ln -sf ../init.d/checkfstab /etc/rc.d/rcsysinit.d/S19checkfstab
|
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/swap /etc/rc.d/rcsysinit.d/S20swap
|
||||||
ln -sf ../init.d/checkfs /etc/rc.d/rcsysinit.d/S30checkfs
|
ln -sf ../init.d/checkfs /etc/rc.d/rcsysinit.d/S30checkfs
|
||||||
ln -sf ../init.d/mountfs /etc/rc.d/rcsysinit.d/S40mountfs
|
ln -sf ../init.d/mountfs /etc/rc.d/rcsysinit.d/S40mountfs
|
||||||
|
|||||||
56
src/initscripts/init.d/waitdrives
Normal file
56
src/initscripts/init.d/waitdrives
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
#!/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
|
||||||
Reference in New Issue
Block a user