首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何同步树莓Pi系统时钟?

如何同步树莓Pi系统时钟?
EN

Stack Overflow用户
提问于 2022-04-14 08:01:10
回答 1查看 2.1K关注 0票数 1

我已经使用Buildroot为Raspberry Pi CM4构建了一个定制的Linux。我能够引导它,但我的系统时钟不同步。它设置为一些静态时间,我想显示实时代替。我选择了BR2_PACKAGE_RTC_TOOLS=yBR2_PACKAGE_UTIL_LINUX_HWCLOCK=yBR2_PACKAGE_NTP=yBR2_PACKAGE_NTP_NTPDATE=yBR2_PACKAGE_NTP_NTPTIME=ymenuconfig。但结果还是一样。

timedatectl显示:

代码语言:javascript
复制
Local time: Tue 2022-01-18 11:52:05 UTC
           Universal time: Tue 2022-01-18 11:52:05 UTC
                 RTC time: n/a
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

systemctl status systemd-timesyncd显示:

代码语言:javascript
复制
systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled;
     Active: active (running) since Tue 2022-01-18 11:35:47 UTC; 17min ago
       Docs: man:systemd-timesyncd.service(8)
   Main PID: 194 (systemd-timesyn)
     Status: "Daemon is running"
      Tasks: 1 (limit: 1009)
        CPU: 396ms
     CGroup: /system.slice/systemd-timesyncd.service
             └─194 /usr/lib/systemd/systemd-timesyncd

Jan 18 11:35:46 br2rauc systemd[1]: Starting Network Time Synchronization...
Jan 18 11:35:47 br2rauc systemd[1]: Started Network Time Synchronization.

timedatectl show-timesync的结果是:

代码语言:javascript
复制
FallbackNTPServers=time1.google.com time2.google.com time3.google.com time4.google.com
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=0
Frequency=0

我不知道为什么,但是/etc/systemd/timesyncd.conf看起来像没有设置

代码语言:javascript
复制
[Time]
#NTP=
#FallbackNTP=time1.google.com time2.google.com time3.google.com time4.google.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
#SaveIntervalSec=60

我需要为NTP设置值吗?

我还通过启用BR2_PACKAGE_HTPDATE=ysystemctl status htpdate.status演示进行了尝试:

代码语言:javascript
复制
htpdate.service - htpdate daemon
     Loaded: loaded (/usr/lib/systemd/system/htpdate.service; enabled; vendor pr
     Active: active (running) since Tue 2022-01-18 11:35:48 UTC; 22min ago
    Process: 221 ExecStart=/usr/sbin/htpdate -D -i /run/htpdate.pid $HTPDATE_ARG
   Main PID: 228 (htpdate)
      Tasks: 1 (limit: 1009)
        CPU: 26ms
     CGroup: /system.slice/htpdate.service
             └─228 /usr/sbin/htpdate -D -i /run/htpdate.pid -a -s -t https:/

Jan 18 11:35:48 br2rauc systemd[1]: Starting htpdate daemon...
Jan 18 11:35:48 br2rauc htpdate[228]: htpdate version 1.3.3 started
Jan 18 11:35:48 br2rauc htpdate[228]: www.google.com host or service unavailable
Jan 18 11:35:48 br2rauc systemd[1]: Started htpdate daemon.

如您所见,日期和时间设置为1月18日。而启动Pi没有连接到internet。在系统启动后,我使用connman连接到互联网。但是即使在重新启动systemd-timesyncd之后,结果也是一样的。

有人能告诉我如何正确地同步系统时钟吗?

你的帮助将不胜感激。

提前感谢

记者:如果这里缺少任何信息,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2022-04-30 12:51:05

htpdate与buildroot (实际上是非glibc发行版)的组合出现了一个1.3.2版的问题。请使用https://github.com/twekkel/htpdate的最新版本

如果htpdate在网络可用之前启动,时间同步可能需要一些时间.试着用“-m5”来加速这个过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71868313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档