启动时系统时钟设置不正确

启动时系统时钟设置不正确

我的 Linux 系统 TinyCore、内核 2.6.38 中的系统时钟出现了奇怪的问题。dmesg
显示以下内容:

rtc_cmos 00:04: setting system clock to 2012-08-08 19:20:00 UTC (since_epoch-value)

但实际上,当我测试时date,它总是从 1/1/2001 01:43:00 开始,而 hwclock 显示正确的时间。
现在如果我运行hwclock -s,它会固定到下次启动。
这个系统就像一个“实时 CD”,它被加载到 RAM 并卸载存储设备。
我的猜测是内核确实从 rtc0 设置了时间,但也许文件覆盖会重置系统时钟。可能是(包括 /dev/something)?

答案1

背景

在Linux中,系统时区由符号链接决定/etc/localtime

上述链接指向描述本地时区的时区数据文件。时区数据文件位于 或 ,/usr/lib/zoneinfo具体/usr/share/zoneinfo取决于您使用的 Linux 发行版。

时钟

hwclock 是一个访问硬件时钟的工具。您可以显示当前时间、将硬件时钟设置为指定时间、将硬件时钟设置为系统时间以及从硬件时钟设置系统时间。

硬件时钟:这是一种独立于 CPU 中运行的任何控制程序运行的时钟,即使在机器关闭时也能运行。

如果您使用-s它,将从硬件时钟设置系统时间。这就是解决问题的原因。

解决方案

您可以在终端中执行命令来设置符号链接,即使重启后它仍会继续存在:

sudo ln -sf /usr/share/zoneinfo/Portugal /etc/localtime

对我来说是葡萄牙,请根据您的时区调整命令。

相关内容