linux 嵌入式软硬件时钟 怎么同步

linux 嵌入式软硬件时钟 怎么同步,第1张

置硬件时间

开机时Linux会从硬件的rtc的时钟芯片中获取一次硬件时间,然后以此为基础来运行系统时间。

settimeofday 相当于date shell命令,紧紧能设置系统时间。

如果想设置硬件时间,需要一个hwclock -w shell原理的函数来写硬件的rtc。

扒一扒 busybox的 hwclock.c源码(http://www.codeforge.cn/read/97203/hwclock.c__html)

可以知道这么抄写功能源码:

[cpp] view plain copy

static void write_rtc(time_t t, int utc)

{

int rtc

struct tm tm

if (( rtc = open ( "/dev/rtc", O_WRONLY )) <0 )

{

if (( rtc = open ( "/dev/misc/rtc", O_WRONLY )) <0 )

bb_perror_msg_and_die ( "Could not access RTC

Ubuntu系统默认的时钟同步服务器是ntp.ubuntu.com,Debian则是0.debian.pool.ntp.org等, 各Linux发行版都有自己的NTP官方服务器。身在中国,使用这些都会有高延迟,但对时钟同步这件事来说影响不大。

在某些环境下,比如公司内网、云上子网等,是与互联网隔绝的。这时要想做时钟同步,就只能自己配置了。

本文介绍如何自己配置时钟同步,不介绍如何自建NTP服务器。

一般timesync是预装的。如果没有,可以使用以下命令手动安装。

sudo apt install systemd-timesyncd 它和ntp是冲突的,二者只能安装一个。

修改/etc/systemd/timesyncd.conf,把NTP设为华为内绿区可达的NTP服务器。

修改完成后,需要restart后这个配置才生效。

如果以上systemd-timesyncd.service因为什么原因而不存在,则可通过以下命令修复:

一般查看日期与时间是使用date。使用timedatectl可以查看到更多时钟同步相关信息。

以下给出一些阿里云的NTP列表,可以通过ping择优使用。

以上就是 良许教程网 为各位朋友分享的配置Linux的时钟同步。

最后,最近很多小伙伴找我要 Linux学习路线图 ,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:

免费送给大家,只求大家金指给我点个赞!

电子书 | Linux开发学习路线图

也希望有小伙伴能加入我,把这份电子书做得更完美!

推荐阅读:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7538058.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存