Author: blogic
Date: 2016-02-08 09:25:53 +0100 (Mon, 08 Feb 2016)
New Revision: 48661

Modified:
   trunk/package/base-files/files/etc/init.d/sysfixtime
Log:
base-files: For sysfixtime use hwclock if RTC available

On systems that have an RTC prefer it to the file-based time fixup (i.e.
use hwclock when there is a permanent clock instead of the faked up time
logic that is needed when there is not RTC).

We can't rely on hctosys kernel feature either as we're usually using
RTC as kernel modules which are usually being loaded after hctosys was
run, leading in the following error:

  hctosys: unable to open rtc device (rtc0)

Signed-off-by: Daniel Dickinson <[email protected]>
Signed-off-by: Petr ?\197?\160tetiar <[email protected]>

Modified: trunk/package/base-files/files/etc/init.d/sysfixtime
===================================================================
--- trunk/package/base-files/files/etc/init.d/sysfixtime        2016-02-08 
08:25:46 UTC (rev 48660)
+++ trunk/package/base-files/files/etc/init.d/sysfixtime        2016-02-08 
08:25:53 UTC (rev 48661)
@@ -2,10 +2,24 @@
 # Copyright (C) 2013-2014 OpenWrt.org
 
 START=00
+STOP=90
 
+RTC_DEV=/dev/rtc0
+HWCLOCK=/sbin/hwclock
+
 boot() {
+       start && exit 0
+
        local curtime="$(date +%s)"
        local maxtime="$(find /etc -type f -exec date -r {} +%s \; | sort -nr | 
head -n1)"
        [ $curtime -lt $maxtime ] && date -s @$maxtime
 }
 
+start() {
+       [ -e "$RTC_DEV" ] && [ -e "$HWCLOCK" ] && $HWCLOCK -s -f $RTC_DEV
+}
+
+stop() {
+       [ -e "$RTC_DEV" ] && [ -e "$HWCLOCK" ] && $HWCLOCK -w -f $RTC_DEV && \
+               logger -t sysfixtime "saved '$(date)' to $RTC_DEV"
+}
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to