blob: 3843e42e125f4c5e414c94d3b8ef6ea48825be9b [file] [log] [blame]
#!/bin/sh
TIME_FILE=/tmp/time.synced
logtosys()
{
dmesg | grep T: | (
lasttime=0
while IFS='[] ' read space level service version timestamp humandate humantime ntpsync junk; do
if [ "$service" = "T:" ] && [ "$ntpsync" = "ntp=1" ]; then
lasttime=$timestamp
fi
done
if [ "$lasttime" -gt 0 ]; then
toolbox date +%s -s $lasttime
fi
#TODO(irinams): create the TIME_FILE only when we have a way to approximate
# how much time was spent during reboot to add it to to lasttime
#echo >"TIME_FILE"
)
}
case "$1" in
start)
echo "UTC" > /tmp/TZ
if [ -c /dev/rtc0 ] ; then
babysit 60 systohc-loop &
else
logtosys
fi
(
wait-until-created /tmp/ntp.synced
echo : >"$TIME_FILE"
) &
;;
stop)
if [ -c /dev/rtc0 ] ; then
pkillwait -x systohc-loop
fi
rm -f "$TIME_FILE"
;;
restart|reload)
$0 stop; $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac