summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/etc/init.d/hwclock.sh
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/etc/init.d/hwclock.sh')
-rwxr-xr-xbeagle/debian-rfs/etc/init.d/hwclock.sh171
1 files changed, 171 insertions, 0 deletions
diff --git a/beagle/debian-rfs/etc/init.d/hwclock.sh b/beagle/debian-rfs/etc/init.d/hwclock.sh
new file mode 100755
index 0000000..d500287
--- /dev/null
+++ b/beagle/debian-rfs/etc/init.d/hwclock.sh
@@ -0,0 +1,171 @@
+#!/bin/sh
+# hwclock.sh Set and adjust the CMOS clock, according to the UTC
+# setting in /etc/default/rcS (see also rcS(5)).
+#
+# Version: @(#)hwclock.sh 2.00 14-Dec-1998 miquels@cistron.nl
+#
+# Patches:
+# 2000-01-30 Henrique M. Holschuh <hmh@rcm.org.br>
+# - Minor cosmetic changes in an attempt to help new
+# users notice something IS changing their clocks
+# during startup/shutdown.
+# - Added comments to alert users of hwclock issues
+# and discourage tampering without proper doc reading.
+
+# WARNING: Please read /usr/share/doc/util-linux/README.Debian.hwclock
+# before changing this file. You risk serious clock
+# misbehaviour otherwise.
+
+### BEGIN INIT INFO
+# Provides: hwclock
+# Required-Start: checkroot
+# Required-Stop: $local_fs
+# Default-Start: S
+# Default-Stop: 0 6
+### END INIT INFO
+
+FIRST=no # debian/rules sets this to 'yes' when creating hwclockfirst.sh
+
+# Set this to any options you might need to give to hwclock, such
+# as machine hardware clock type for Alphas.
+HWCLOCKPARS=
+
+# Set this to the hardware clock device you want to use, it should
+# probably match the CONFIG_RTC_HCTOSYS_DEVICE kernel config option.
+HCTOSYS_DEVICE=rtc0
+
+hwclocksh()
+{
+ [ ! -x /sbin/hwclock ] && return 0
+ [ ! -r /etc/default/rcS ] || . /etc/default/rcS
+
+ . /lib/lsb/init-functions
+ verbose_log_action_msg() { [ "$VERBOSE" = no ] || log_action_msg "$@"; }
+
+ [ "$GMT" = "-u" ] && UTC="yes"
+ case "$UTC" in
+ no|"") GMT="--localtime"
+ UTC=""
+ if [ "X$FIRST" = "Xyes" ] && [ ! -r /etc/localtime ]; then
+ if [ -z "$TZ" ]; then
+ log_action_msg "System clock was not updated at this time"
+ return 1
+ fi
+ fi
+ ;;
+ yes) GMT="--utc"
+ UTC="--utc"
+ ;;
+ *) log_action_msg "Unknown UTC setting: \"$UTC\""; return 1 ;;
+ esac
+
+ case "$BADYEAR" in
+ no|"") BADYEAR="" ;;
+ yes) BADYEAR="--badyear" ;;
+ *) log_action_msg "unknown BADYEAR setting: \"$BADYEAR\""; return 1 ;;
+ esac
+
+ case "$1" in
+ start)
+ if [ -d /dev/.udev ]; then
+ return 0
+ fi
+
+ if [ -w /etc ] && [ ! -f /etc/adjtime ] && [ ! -e /etc/adjtime ]; then
+ echo "0.0 0 0.0" > /etc/adjtime
+ fi
+
+ if [ ! -w /etc/adjtime ]; then
+ NOADJ="--noadjfile"
+ else
+ NOADJ=""
+ fi
+
+ if [ "$FIRST" != yes ]; then
+ # Uncomment the hwclock --adjust line below if you want
+ # hwclock to try to correct systematic drift errors in the
+ # Hardware Clock.
+ #
+ # WARNING: If you uncomment this option, you must either make
+ # sure *nothing* changes the Hardware Clock other than
+ # hwclock --systohc, or you must delete /etc/adjtime
+ # every time someone else modifies the Hardware Clock.
+ #
+ # Common "vilains" are: ntp, MS Windows, the BIOS Setup
+ # program.
+ #
+ # WARNING: You must remember to invalidate (delete)
+ # /etc/adjtime if you ever need to set the system clock
+ # to a very different value and hwclock --adjust is being
+ # used.
+ #
+ # Please read /usr/share/doc/util-linux/README.Debian.hwclock
+ # before enabling hwclock --adjust.
+
+ #/sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --adjust $GMT $BADYEAR
+ :
+ fi
+
+ if [ "$HWCLOCKACCESS" != no ]; then
+ log_action_msg "Setting the system clock"
+
+ # Copies Hardware Clock time to System Clock using the correct
+ # timezone for hardware clocks in local time, and sets kernel
+ # timezone. DO NOT REMOVE.
+ if /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --hctosys $GMT $HWCLOCKPARS $BADYEAR $NOADJ; then
+ # Announce the local time.
+ verbose_log_action_msg "System Clock set to: `date $UTC`"
+ else
+ log_warning_msg "Unable to set System Clock to: `date $UTC`"
+ fi
+ else
+ verbose_log_action_msg "Not setting System Clock"
+ fi
+ ;;
+ stop|restart|reload|force-reload)
+ #
+ # Updates the Hardware Clock with the System Clock time.
+ # This will *override* any changes made to the Hardware Clock.
+ #
+ # WARNING: If you disable this, any changes to the system
+ # clock will not be carried across reboots.
+ #
+ if [ ! -w /etc/adjtime ]; then
+ NOADJ="--noadjfile"
+ else
+ NOADJ=""
+ fi
+
+ if [ "$HWCLOCKACCESS" != no ]; then
+ log_action_msg "Saving the system clock"
+ if [ "$GMT" = "-u" ]; then
+ GMT="--utc"
+ fi
+ if /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --systohc $GMT $HWCLOCKPARS $BADYEAR $NOADJ; then
+ verbose_log_action_msg "Hardware Clock updated to `date`"
+ fi
+ else
+ verbose_log_action_msg "Not saving System Clock"
+ fi
+ ;;
+ show)
+ if [ ! -w /etc/adjtime ]; then
+ NOADJ="--noadjfile"
+ else
+ NOADJ=""
+ fi
+
+ if [ "$HWCLOCKACCESS" != no ]; then
+ /sbin/hwclock --rtc=/dev/$HCTOSYS_DEVICE --show $GMT $HWCLOCKPARS $BADYEAR $NOADJ
+ fi
+ ;;
+ *)
+ log_success_msg "Usage: hwclock.sh {start|stop|reload|force-reload|show}"
+ log_success_msg " start sets kernel (system) clock from hardware (RTC) clock"
+ log_success_msg " stop and reload set hardware (RTC) clock from kernel (system) clock"
+ return 1
+ ;;
+ esac
+}
+
+hwclocksh "$@"