Boot

嵌入式Linux:系統啟動後的日期:負責哪個文件(日期準確)

  • July 7, 2021

有嵌入式 linux 設備。它有 ar/o rootfs。它沒有連接到乙太網以從某些伺服器獲取時間。我習慣了這樣的設備提供日期:1.1.1970。這裡不一樣。它似乎從文件的日期戳或文件系統本身獲取時間。這似乎是創建根文件系統映像的日期。我可以想像只有一個文件(或者更好的是日期)對此負責。不是 /sbin/init …而是哪一個?

根據使用的文件系統類型,日期可能來自根文件系統的元數據,而不是來自任何特定文件。

例如,ext2/3/4文件系統類型在文件系統元數據中嵌入了以下時間資訊,可通過以下tune2fs -l命令查看:

# tune2fs -l /dev/sda2
tune2fs 1.44.5 (15-Dec-2018)
[...]
Filesystem created:       Sun Jan 17 19:56:31 2021
Last mount time:          Wed May 12 18:27:00 2021
Last write time:          Wed May 12 18:27:35 2021
[...]
Last checked:             Sun Jan 17 19:56:31 2021

其他文件系統類型可能有也可能沒有類似的嵌入式時間戳。在沒有持久實時時鐘的系統上,核心可能會合理地將根文件系統的“最後寫入時間”作為目前時間的最佳可用猜測,以希望系統過去有正確的時間它以前正在執行。

在具有隻讀根文件系統的系統上,最後一次寫入時間 - 正如您已經意識到的那樣 - 接近文件系統的創建(或映像)時間。

引用自:https://unix.stackexchange.com/questions/657416