0

我已经用 rtcsync 标志配置了 Chrony,它应该“启用硬件实时时钟 (RTC) 的内核同步”,但事实并非如此。

Chrony 使用 ntp 正确设置系统时间,但 RTC 未受影响,我似乎无法找出原因。我的猜测是内核无法识别 Chrony 同步 RTC 的请求,但这只是猜测。

版本
内核:4.19
Chrony:3.5

更新:

似乎在内核尝试访问外部 RTC注册了它,这阻止了将 RTC 与 NTP 同步的系统时间同步。来自dmesg

...
[    6.317060] hctosys: unable to open rtc device (rtc)
...
[   14.303503] rtc-ds1307 9-0068: registered as rtc0
...

我通过添加一个每 10 分钟更新一次 hwclock 的 cronjob 完成了一个临时解决方法。

4

1 回答 1

0

要开始rtcsync工作,您必须正确设置RTC_SYSTOHCRTC_SYSTOHC_DEVICE内核选项,因为这只是要求内核将系统时间同步到 RTC。它大约每 11 分钟执行一次。

但是,更好的方法是在这种情况下使用rtcfile(and rtcdevice),chrony 将处理 RTC。如果 RTC 支持微调机制,它甚至会计算 RTC 漂移,然后可以对其进行校正。

于 2020-07-08T08:34:00.833 回答