Linux系統時間的設定以及自帶的timesync時間同步
阿新 • • 發佈:2022-11-29
1.三個階段的系統時間設定
1.1 核心啟動階段
這裡是在menuconfig檔案配置RTC設定系統時間選項。
CONFIG_RTC_HCTOSYS_DEVICE="rtc1",或者直接在deconfig中新增選項。 沒選就不會設定,我猜預設1970-XX-XXX。(因為很久以前看的,沒有筆記習慣,所以具體邏輯忘記了) 1.2 systemd啟動 systemd版本應該是250。 預設的情況下,在編譯systemd的時候會記錄一個編譯時間。 沒有特別設定而且是git下來的情況應該是git log中的最近的一次提交記錄。 如果不是git 的,使用的是NEW檔案的修改時間。 參照:meson.build(systemd的Build檔案) 上面記錄的時間 > RTC的時間 就會重新設定系統時間。 上面記錄的時間 < RTC的時間 保持不變(具體還會判斷一下可以超過太多也是不行的)。 參照:src/shared/clock-util.c(int clock_apply_epoch(ClockChangeDirection *ret_attempted_change))