@@ -2,10 +2,25 @@
# Copyright (C) 2013-2014 OpenWrt.org
START=00
+STOP=90
+
+rtc_dev=/dev/rtc0
+hwclock=/sbin/hwclock
boot() {
+ [ -e "$rtc_dev" ] && [ -e "$hwclock" ] && $hwclock -s -f $rtc_dev && 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"
+}