【问题标题】:How to configure buildroot to set the hwclock when date is changed? [closed]如何配置 buildroot 以在日期更改时设置 hwclock? [关闭]
【发布时间】:2013-12-10 23:46:40
【问题描述】:

使用 buildroot 2013.05(使用飞思卡尔 i.MX6 CPU)。

当我从控制台更改日期/时间时,例如:date -s "2013-11-26 02:11",此设置将在重新启动期间丢失。我了解到,之后我必须致电hwclock -wu

但是如何配置我的基于 buildroot 的 linux,在更改日期/时间后自动设置 hwclock(无论日期/时间是从 linux 控制台更改还是通过 C 程序的 libc 调用)。

【问题讨论】:

  • 您需要在 linux 内核中配置驱动程序才能使其工作。它应该是 /dev/rtcXX。此外,这可能存在,但如果您没有在设计中添加纽扣电池,则 hwclock 可能无法供电并且它总是会丢失时钟。 Linux 驱动程序不会知道纽扣电池不存在。
  • 满足所有这些条件。 /dev/rtc… 存在并且一切正常,只要我在修改系统日期/时间后手动调用 hwclock。我只希望自动调用 hwclock。
  • 那么不要使用date -s。使用hwclock -s --set --date="2013-11-26 02:11"。因此,不要使用date 命令设置东西,而是使用hwclock。或者您希望在重新启动之前时间不同步?

标签: linux date arm buildroot hwclock


【解决方案1】:

在 linux 系统上处理 hwclock 的标准方法是在重新启动期间将系统时间保存到硬件时钟,并在启动时恢复它。这是通过初始化脚本完成的。

因此,在 buildroot 中,您将添加一个以 /etc/init.d/Sxxhwclock 结尾的初始化脚本,通常使用 rootfs 覆盖,或者使用完全自定义的目标框架。

有关自定义目标 rootfs 的更多信息,请参阅 http://buildroot.uclibc.org/downloads/manual/manual.html#rootfs-custom

【讨论】:

  • 谢谢,这有助于我理解标准方式。例如。我的 Kubuntu(台式电脑)似乎表现得那样。但不幸的是,对于嵌入式系统来说,事实往往是,它们没有彻底重启,而只是立即断电(以及我的项目)。看来我还得明确调用 hwclock。
猜你喜欢
  • 2016-04-30
  • 2019-02-19
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 2016-07-04
  • 1970-01-01
  • 2014-04-07
  • 1970-01-01
相关资源
最近更新 更多