in testing (and searching)
- https://man7.org/linux/man-pages/man4/rtc.4.html
- When the kernel's system time is synchronized with an external reference using adjtimex(2) it will update a designated RTC periodically every 11 minutes. To do so, the kernel has to briefly turn off periodic interrupts; this might affect programs using that RTC.
- I do not know if
chronydneeds to be running for this to happen, perrtcsyncin/etc/chrony.conf
- I do not know if
- The BIOS clock can get updated upon Linux shutdown as I have observed; this is good if you set system time by whatever method to be correct then it should update the BIOS clock so that next time the system boots the time is correct. However I did observe instances where it did not get updated and was off by the 20 minutes I had specifically set it to be off in which case the system boots and has incorrect time and while going forward if the BIOS clock stays on track and doesn't skew then everytime you reboot your system time is off until it gets corrected. This is a problem in an isolated environment with no internet and no good/real time server.
/etc/adjtimein Linux is whereUTCis specified (orLOCAL) for knowing what timezone the RTC is assumed to be in; I assume LOCAL then references `/etc/localtime
The Hardware Clock is usually not very accurate. However, much of its inaccuracy is completely predictable - it gains or loses the same amount of time every day. This is called systematic drift. The util hwclock(8) keeps the file /etc/adjtime, that keeps some historical information. For more details see "The Adjust Function" and "The Adjtime File" sections from hwclock(8) man page.
/etc/adjtime is to contain the drift factor and last adjust time of the hardware clock