]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/initscripts/init.d/ntp
ntp: check/wait for onlineconnection.
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / ntp
index 5cb6782ad7e5a4f3c7caf1eeee598dc8f621044c..885b610b4d197f832eec3f05aa6917208d09c265 100644 (file)
@@ -1,17 +1,38 @@
 #!/bin/sh
 # Begin $rc_base/init.d/ntp
 
-#$LastChangedBy: bdubbs $
-#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $
-
 . /etc/sysconfig/rc
 . $rc_functions
 
+eval $(/usr/local/bin/readhash /var/ipfire/time/settings)
+
 case "$1" in
        start)
+               if [ "$ENABLESETONBOOT" == "on" ]; then
+                       boot_mesg -n "Setting time on boot..."
+                       if [ ! -e /var/ipfire/red/active ]; then
+                               boot_mesg ""
+                               boot_mesg -n "Wait for online connection"
+                               for (( i=30; i>1; i-- )) do
+                                       if [ -e /var/ipfire/red/active ]; then
+                                               break;
+                                       fi
+                                       boot_mesg -n "."
+                                       sleep 1
+                               done
+                               sleep 5
+                       fi
+                       if [ -e /var/ipfire/red/active ]; then
+                               boot_mesg ""
+                               loadproc /usr/local/bin/settime $(cat /var/ipfire/time/settime.conf)
+                       else
+                               boot_mesg " not online!"
+                               echo_warning
+                       fi
+               fi
+
                boot_mesg "Starting ntpd..."
-               ntpd -gqx
-               loadproc /usr/bin/ntpd
+               loadproc /usr/bin/ntpd -Ap /var/run/ntpd.pid
                ;;
 
        stop)