Debian
桌面和嵌入式環境中的 RTC 管理
在帶有外部 RTC 模組(即 DS1307)的嵌入式環境(目前:帶有 Debian Stretch 的 Raspberry Pi)上工作時,我必須手動保持系統和 RTC 時鐘同步。
這可以通過定期呼叫來實現
hwclock -w
- 例如,將其放入 cron 作業中。我很好奇桌面系統如何處理這種情況。在我的 Debian 台式機上檢查 cron 作業,似乎與 RTC 沒有任何關係(儘管它可能在其他一些任務中“隱藏”)。
那麼,RTC 是如何與系統時鐘保持同步的呢?
在沒有 RTC 的嵌入式平台(如 Pi)上,
adjtimex
預設情況下通常不會安裝包。這是管理核心 RTC 配置的工具,預設配置核心以保持硬體時鐘與系統時鐘同步。請注意,如果您使用 hwclock 或類似工具,它將禁用核心同步,您將需要使用 adjtimex 重新啟用它。
adjtimex
是用於時間同步間歇或無連接的機器的解決方案。另一個選項是使用ntpd
可以配置為保持系統時鍾正確的選項,並在關機時呼叫腳本hwclock --systortc
將最後最正確的時鐘寫入 hwclock。