When /etc/init.d/hwclock start is run, the system clock is set to match the hardware clock, adjusted for drift. (The automatic adjustment for drift when running hwclock --hctosys was added in util-linux-2.26.) When /etc/init.d/hwclock stop is run, the hardware clock is set to match the system clock, but /etc/adjtime is not modified to reflect the fact that the hardware clock was updated. So if I last manually updated the clock, say, a month ago, the system clock will keep getting set back by a month's worth of drift at every reboot. (This is with the default /etc/conf.d/hwclock settings.) Reproducible: Always
https://github.com/openrc/openrc/commit/ac8ad16 The best way to handle this seems to be to always use --noadjfile if hwclock supports it. This will be in 0.21.2 and 0.22.