新唐NUC980配置ntp功能

选择ntp功能
进入内核编译文件夹

$cd ~/NUC970_Buildroot-master

选择ntp功能

$make menuconfig

选择Target packages > Networking applications > ntp
在这里插入图片描述
选项中我根据项目要求和调试测试需要选择了ntpd、ntpdate、ntpdc、ntpq。
功能说明
ntpd是平滑同步(微调同步),ntpdate则是直接同步(跳跃同步)。
我个人的理解就是ntpdate会立即,直接的与ntp服务器时间同步,立竿见影,使用date命令可以直接看到时间已被更改,但这样跳跃式的更改可能会对运行中的程序或者服务进程造成影响。
ntpd则是慢慢的进行同步,虽然可能会花费5到10分钟时间完全同步,但对于程序、进程等影响较小,且在NUC980内核编译中已设置为开机启动的守护进程。
因为项目中电路板出厂时需进行时间校对,同时客户日常使用也需使用ntp功能,且若时间相差过大,ntpd功能可以启动但不能正常运行,所以此处选择ntpdate用于出厂时间校对,ntpd作为守护进程保证日常校对。
ntpdc可以查看ntp守护进程状况,更改相关参数。ntpq则是用来查看与ntp服务器连接情况。两功能均用于调试。
配置文件
选择功能完成后,保存后make,编译完成后可在output/build文件夹下发现ntp文件夹,在usr/sbin下可以找到相关命令
在这里插入图片描述
不过有可能该文件夹下只有ntpd,可以前往ntp文件夹下将相应命令复制过来即可,如:
在这里插入图片描述
output/target/etc文件夹下找到ntp的配置文件ntp.conf,其初始内容如下:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

# Allow only time queries, at a limited rate, sending KoD when in excess.
# Allow all local queries (IPv4, IPv6)
restrict default nomodify nopeer noquery limited kod
restrict 127.0.0.1
restrict [::1]

项目要求暂时为只需此电路板可以同步时间,故仅设置为客户端,直接同网络上的ntp服务器进行同步,不需设置为服务端供其他节点同步时间。修改后如下:

#server 0.pool.ntp.org iburst
#server 1.pool.ntp.org iburst
#server 2.pool.ntp.org iburst
#server 3.pool.ntp.org iburst

server ntp.ntsc.ac.cn prefer
server time1.cloud.tencent.com

# Allow only time queries, at a limited rate, sending KoD when in excess.
# Allow all local queries (IPv4, IPv6)
restrict default nomodify nopeer noquery limited kod
restrict 127.0.0.1
restrict [::1]

ntp.ntsc.ac.cn(114.118.7.161)为中国科学院ntp授时服务器
time1.cloud.tencent.com(139.199.215.251)腾讯云ntp授时服务器

参考资料:
常见的NTP授时服务器地址(本文不断更新中)
中国科学院关于“网络授时域名”全面试运行测试的公告
http://www.ntp.org.cn/

此外,在outout/target/etc/init.d文件夹下可以找到ntp的开机启动文件S49ntp,其中需根据实际情况修改的内容如下:

NAME=ntpd
DAEMON=/usr/sbin/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

# Read config file if it is present.
if [ -r /etc/default/$NAME ]
then
  . /etc/default/$NAME
fi

可以看到先赋值了NAME和DAEMON用于使用配置文件和开启守护进程。
test -x $DAEMON || exit 0查询在板子环境下/usr/sbin/文件夹下是否存在ntpd命令,可以查看output/target/usr/sbin文件夹进行确认,若无,可根据实际位置修改DAEMON变量。

if [ -r /etc/default/$NAME ]
then
  . /etc/default/$NAME
fi

判断是否存在配置文件,并使用。但此处与我目前实际情况不符:1、配置文件名称为ntp.conf,此处变量NAME为ntpd,我采取修改变量名称的方式处理,也可修改配置文件名。2、配置文件所在文件夹为output/target/etc,即板子环境下的/etc,并无中间文件夹default,我此处选择修改语句,也可增加该中间文件夹。修改后如下:

NAME=ntpd
DAEMON=/usr/sbin/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

NAME=ntp
# Read config file if it is present.
if [ -r /etc/$NAME ]
then
  . /etc/$NAME
fi

NAME=ntpd

修改保存后再次make,烧录uimage。
测试
首先测试网络

#ping ntp.ntsc.ac.cn

或者

#ping 114.118.7.161

在这里插入图片描述
查看当前时间
在这里插入图片描述
使用ntpdate前需要先将ntpd服务停止
在这里插入图片描述
重新开启ntpd,并查看连接状态
在这里插入图片描述
参考资料:
NTP时钟同步配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cedar_king

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值