1
qakito 2021-03-14 10:24:15 +08:00
initramfs 只负责启动,启动过程中由 systemd 挂载真正的 rootfs(log 里也有 switching root)
/etc /usr 之类的目录都是由 systemd-mount 挂载完毕后才指向实际硬盘里的内容 |
2
systemcall 2021-03-14 16:52:47 +08:00
默认情况下,Linux 的硬件时间用的是 UTC 时间,应该是读取到了配置文件才改成对应的时区的时间
感觉其实没有多大的影响,因为很多嵌入式设备连 RTC 都没有,还是可以正常使用,启动的某个过程中会改变时间,如果没有联网的话似乎是上次关机的时间。不过没有留意过这个过程 initramfs 切换到真正的 rootfs 的过程中,很多东西都会改变,应该就是这个原因吧 |
3
whee1 2021-03-15 14:06:01 +08:00 1
systemd 的时区是 timedatectl 设置的,而时间从 /dev/rtc0 读取的 rtc 时间;而 /etc/localtime 是 glibc 的配置文件。
正如 @systemcall #2 所说,Unix 系统一般把 RTC 时间设置为 UTC 时间,这也许是一个标准或者是一个事实标准。macos 和 linux 就是这样默认的。 你不应该将 RTC 时间设置为本地时间( utc+8 ), timedatectl 也警告过你。 另外,/var/log/messages 是有 syslogd 输出的,而 systemd ( journald )的日志位于 /var/log/journal/下。 |
4
julyclyde OP 谢谢各位
我把 rtc 改成 utc 时区试试 |