diff options
-rwxr-xr-x | adjtime.cron | 18 | ||||
-rw-r--r-- | rc.conf | 3 | ||||
-rwxr-xr-x | rc.shutdown | 2 | ||||
-rwxr-xr-x | rc.sysinit | 15 |
4 files changed, 29 insertions, 9 deletions
diff --git a/adjtime.cron b/adjtime.cron index 40c02f2..b1c8950 100755 --- a/adjtime.cron +++ b/adjtime.cron @@ -1,3 +1,17 @@ -#!/bin/sh +#!/bin/bash # Update our hwclock for system drift -/sbin/hwclock --adjust + +. /etc/rc.conf + +HWCLOCK_PARAMS="--adjust" +if [ "$HARDWARECLOCK" = "UTC" ]; then + HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc" +elif [ "$HARDWARECLOCK" = "localtime" ]; then + HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime" +else + HWCLOCK_PARAMS="" +fi + +if [ -n "$HWCLOCK_PARAMS" ]; then + /sbin/hwclock $HWCLOCK_PARAMS +fi @@ -7,7 +7,8 @@ # ----------------------------------------------------------------------- # # LOCALE: available languages can be listed with the 'locale -a' command -# HARDWARECLOCK: set to "UTC" or "localtime" +# HARDWARECLOCK: set to "UTC" or "localtime", any other value will result +# in the hardware clock being left untouched (useful for virtualization) # TIMEZONE: timezones are found in /usr/share/zoneinfo # KEYMAP: keymaps are found in /usr/share/kbd/keymaps # CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US) diff --git a/rc.shutdown b/rc.shutdown index b0d8195..e2a4a84 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -80,7 +80,7 @@ elif [ "$HARDWARECLOCK" = "localtime" ]; then else HWCLOCK_PARAMS="" fi -if [ "$HWCLOCK_PARAMS" != "" ]; then +if [ -n "$HWCLOCK_PARAMS" ]; then /sbin/hwclock $HWCLOCK_PARAMS fi stat_done @@ -35,7 +35,8 @@ fi # enable rtc access /sbin/modprobe rtc-cmos >/dev/null 2>&1 -RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null); RTC_MAJOR="${RTC_MAJOR%% *}" +RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null) +RTC_MAJOR="${RTC_MAJOR%% *}" if [ -n "$RTC_MAJOR" ]; then /bin/mknod /dev/rtc0 c $RTC_MAJOR 0 /bin/ln -s /dev/rtc0 /dev/rtc @@ -44,13 +45,15 @@ fi HWCLOCK_PARAMS="--hctosys" if [ "$HARDWARECLOCK" = "UTC" ]; then HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc" -else +elif [ "$HARDWARECLOCK" = "localtime" ]; then HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime" +else + HWCLOCK_PARAMS="" fi # Set clock early to fix some bugs with filesystem checks # Clock is set again later to match rc.conf -if [ -f /etc/localtime ]; then +if [ -n "$HWCLOCK_PARAMS" -a -f /etc/localtime ]; then /sbin/hwclock $HWCLOCK_PARAMS --noadjfile fi @@ -302,8 +305,10 @@ if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime fi -/sbin/hwclock --adjust #Adjust for system drift -/sbin/hwclock $HWCLOCK_PARAMS +if [ -n "$HWCLOCK_PARAMS" ]; then + /sbin/hwclock --adjust #Adjust for system drift + /sbin/hwclock $HWCLOCK_PARAMS +fi stat_done RANDOM_SEED=/var/lib/misc/random-seed |