diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2007-09-02 14:18:47 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@rpsys.net> | 2007-09-02 14:18:47 +0000 |
commit | 2b79934c4f4dc62f043534729102c9dd2e211da7 (patch) | |
tree | bff7797eb444b9a6b55b2f42fcca4db0ccfdd1ae /packages | |
parent | ada308cef40f274bc1f93fd90a609676ae24632b (diff) |
initscipts: Improve RTC handling so /etc/timestamp is used if its timestamp is 1 day or more greater than the existing time. Also set the timestamp on halt/reboot so devices without a hardware RTC (or with a broken RTC like the PXA) can benefit.
Diffstat (limited to 'packages')
-rwxr-xr-x | packages/initscripts/initscripts-1.0/bootmisc.sh | 20 | ||||
-rw-r--r-- | packages/initscripts/initscripts-1.0/save-rtc.sh | 4 | ||||
-rw-r--r-- | packages/initscripts/initscripts_1.0.bb | 2 |
3 files changed, 15 insertions, 11 deletions
diff --git a/packages/initscripts/initscripts-1.0/bootmisc.sh b/packages/initscripts/initscripts-1.0/bootmisc.sh index 799cdca12b..2a40e0c410 100755 --- a/packages/initscripts/initscripts-1.0/bootmisc.sh +++ b/packages/initscripts/initscripts-1.0/bootmisc.sh @@ -61,16 +61,18 @@ fi # /sbin/ldconfig -# -# Recover the time, if there is a time file (first boot only) -# If not, set system clock from hardware clock -# +# Set the system clock from hardware clock +# If the timestamp is 1 day or more recent than the current time, +# use the timestamp instead. +/etc/init.d/hwclock.sh start if test -e /etc/timestamp then - date -s `cat /etc/timestamp` - mv -f /etc/timestamp /etc/timestamp.done - /etc/init.d/hwclock.sh stop -else - /etc/init.d/hwclock.sh start + SYSTEMDATE=`date "+%Y%m%d"` + TIMESTAMP=`cat /etc/timestamp | awk '{ print substr($0,9,4) substr($0,1,4);}'` + NEEDUPDATE=`expr \( $TIMESTAMP \> $SYSTEMDATE \)` + if [ $NEEDUPDATE -eq 1 ]; then + date `cat /etc/timestamp` + /etc/init.d/hwclock.sh stop + fi fi : exit 0 diff --git a/packages/initscripts/initscripts-1.0/save-rtc.sh b/packages/initscripts/initscripts-1.0/save-rtc.sh index 4e0e270701..e786073051 100644 --- a/packages/initscripts/initscripts-1.0/save-rtc.sh +++ b/packages/initscripts/initscripts-1.0/save-rtc.sh @@ -1,3 +1,5 @@ #! /bin/sh -#FIXME read timestamp handling for systems where RTC doesn't survive a reboot /etc/init.d/hwclock.sh stop + +# Update the timestamp +date +%2m%2d%2H%2M%Y > /etc/timestamp diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb index 3d2f0f50b4..06a12c04a5 100644 --- a/packages/initscripts/initscripts_1.0.bb +++ b/packages/initscripts/initscripts_1.0.bb @@ -4,7 +4,7 @@ PRIORITY = "required" DEPENDS = "makedevs" RDEPENDS = "makedevs" LICENSE = "GPL" -PR = "r99" +PR = "r100" SRC_URI = "file://functions \ file://halt \ |