openwrtv3/package/base-files/files/etc/init.d
Petr Štetiar 9e8e8b7253 base-files: sysfixtime: Keep RTC time in UTC timezone
We need to tell hwclock with -u commandline option, that we would like
to keep our RTC clock in UTC timezone. Linux kernel expects RTC in UTC
timezone anyway.

In current state of things, we don't tell hwclock to load/store time
from/to RTC in UTC timezone so it uses the timezone from the system
time. If it's set to different timezone then UTC, sysfixtime is going to
screw the time in RTC.

I've following in the setup script:

  uci set system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3'
  uci set system.@system[0].zonename='Europe/Prague'

I've this RTC setup (rtc1 is RTC on i.MX6 SoC, rtc0 is battery backed RTC mcp7941x):

  rtc-ds1307 3-006f: rtc core: registered mcp7941x as rtc0
  snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc1

Then we can experience following (current time is 10:15am):

	$ date
	Fri Oct 21 10:15:07 CEST 2016

	$ hwclock -r -f /dev/rtc0
	Fri Oct 21 08:14:46 2016  0.000000 seconds

	$ hwclock -u -r -f /dev/rtc0
	Fri Oct 21 10:14:46 2016  0.000000 seconds

And after current broken sysfixtime:

	$ /etc/init.d/sysfixtime stop

	$ date
	Fri Oct 21 10:15:25 CEST 2016

	$ hwclock -r -f /dev/rtc0
	Fri Oct 21 10:15:31 2016  0.000000 seconds

Now we've time in our battery backed RTC in CEST timezone instead of
UTC.  Then once again, but with this patch applied to sysfixtime, where
hwclock is using correctly the -u parameter:

	$ /etc/init.d/sysfixtime stop

	$ date
	Fri Oct 21 10:15:53 CEST 2016

	$ hwclock -r -f /dev/rtc0
	Fri Oct 21 08:15:55 2016  0.000000 seconds

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Acked-by: Jo-Philipp Wich <jo@mein.io>
2016-10-31 16:33:19 +01:00
..
boot base-files: let config_generate call board_detect 2016-08-13 15:49:46 +02:00
done fstools: update to the latest version, makes interrupted first boot more reliable 2015-03-22 15:11:27 +00:00
gpio_switch base-files: implemented basic GPIO control 2015-07-08 14:25:52 +00:00
led base-files: add ucidef_set_led_usbport for full usbport support 2016-10-22 11:16:01 +02:00
sysctl base-files: reduce vm.min_free_kbytes for devices with 32M RAM 2016-09-16 16:44:45 +02:00
sysfixtime base-files: sysfixtime: Keep RTC time in UTC timezone 2016-10-31 16:33:19 +01:00
system branding: add LEDE branding 2016-03-24 22:40:13 +01:00
umount base-files: fix mount-utils incompatibility 2013-12-27 21:15:09 +00:00
urandom_seed base-files: use procd init for urandom_seed 2016-07-27 01:24:54 +02:00