arm linux 添加ntp服务,嵌入式linux添加NTP服务
版本信息:
Linux version 4.1.15
需求: RTC时间不够精确,过一段时间就可以看出和实际时间有明显出入,有必要添加NTP服务,使系统可以与网络同步时间。
首先把NTP服务build进rootfs,修改/etc/ntp.conf,网上参考很多,内容如下:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
restrict 172.16.0.0 mask 255.15.0.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
server 210.72.145.44 perfer
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 0.CentOS.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
更新rootfs,重启系统(确保可以上网),发现时间确实和网上同步了。
查看date,
~# date
Wed Mar 28 01:12:39 UTC 2018
系统时间是UTC时间,我们希望是中国时间,需要在rootfs添加时区配置,默认rootfs没有localtime,使用UTC时间,NTP在同步时间时,会把系统时间改为真正的UTC时间。添加中国时区(Shanghai)方法如下:
从ubuntu 拷贝/usr/share/zoneinfo/Asia/Shanghai 到目标机,再执行
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
重启系统,这样date 就是上海时区的时间了。
~# date;hwclock -r
Wed Mar 28 09:22:39 CST 2018
Wed Mar 28 01:22:39 2018 0.000000 seconds
不过RTC时间总是UTC时间, 可执行hwclock -r -u
~# date;hwclock -r -u
Wed Mar 28 10:00:51 CST 2018
Wed Mar 28 10:00:51 2018 0.000000 seconds
系统开机时,系统会读rtc时间设定系统时间,关机时会把系统时间写入rtc.具体执行脚本在
/etc/rc2.d/S20hwclock.sh —>/etc/init.d/hwclock.sh
从中可以看出,hwclock.sh从/etc/default/rcS 读出UTC 变量值,决定tz (时区) 是–UTC,或者 –localtime. 决定hwclock –hctosys ,hwclock -systohc 用–UTC 还是–localtime. 可以修改/etc/default/rcS VERBOSE=yes,这样系统开关机时可以从串口看到hwclock.sh的执行过程。
ntpd启动脚本在 /etc/rc2.d/S20ntpd.sh —>/etc/init.d/ntpd
执行 /etc/init.d/ntpd restart
date时间即可以立即同步。
ntpd启动后,执行ntpdate会报端口占用错误,如果想用ntpdate同步时间,可把/etc/init.d/ntpd执行属性去掉,重启系统,
执行 ntpdate 0.cn.pool.ntp.org
date时间即可以和网上同步。
修改ntpd的授时间隔(Polling interval):
默认ntpd的Polling interval是6~10, 即
minpoll 6
maxpoll 10
意思是Polling interval 64s~1024s.
minpoll最小可取3,maxpoll最大可取17, 把
minpoll 6
maxpoll 8
添加到/etc/ntp.conf, 重启系统测试:
这是时间不准时的时间,
~# hwclock -r;date
Wed Mar 28 11:00:38 2018 0.000000 seconds
Wed Mar 28 11:00:38 CST 2018
这是时间被ntp校准后的时间,经过4、5分钟,date时间确实被校准了。
:~# hwclock -r;date
Wed Mar 28 11:06:04 2018 0.000000 seconds
Thu Mar 29 11:13:36 CST 2018
但rtc没有被同时校准,网上有提示在 /etc/sysconfig/ntpd 添加
SYNC_HWCLOCK=yes
经过实际测试,date和rtc没有被同时校准,不过,过一段时间rtc也被校准了。
~# hwclock -r;date
Thu Mar 29 03:50:41 2018 0.000000 seconds
Thu Mar 29 11:50:40 CST 2018
目前还有一个小毛病是date使用localtime, hwclock -r却是UTC时间,尝试修改/etc/default/rcS UTC=no,依然如此,也许是ntpd把RTC时间改为UTC时间了吧,好在可以通过hwclock -r -u 获取和date一致的时间。
arm linux 添加ntp服务,嵌入式linux添加NTP服务相关推荐
- linux内核培训广州,嵌入式Linux驱动开发高级培训班-华清远见嵌入式培训中心
课程目标 本课程以案例教学为主,系统地介绍Linux下有关FrameBuffer.MMC卡.USB设备的驱动程序开发.参加本课程学习的学员,因为具备了Linux设备驱动开发基础,所以本课程针对性较强, ...
- linux 直流电机驱动设计,嵌入式Linux直流电机驱动.PPT
嵌入式Linux直流电机驱动.PPT 嵌入式Linux直流电机驱动实验 开发平台中直流电机驱动的实现 S3C2410芯片自带定时器,所以控制部分省去了三角波产生电路.脉冲调制电路和PWM信号延迟及信号 ...
- 嵌入式linux的发展历程,嵌入式Linux论文(历史发展分类及应用)
嵌入式Linux 一.嵌入式Linux简介 1.1 嵌入式Linux历史 随着社会的发展,信息化技术的成熟和数字化产品的普及,让以计算机技术.芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用 ...
- 嵌入式linux 添加中断,《嵌入式linux应用程序开发完全手册》中断控制器操作(外部中断)学习笔记...
<嵌入式linux应用程序开发完全手册>中断控制器操作(外部中断)学习笔记 一.ARM中断体系 当一个"异常"发生时,或者说当收到一个中断触发信号时,ARM9将会自动完 ...
- linux添加扩展gpio,嵌入式Linux工控板的ISA总线GPIO扩展
1.精简ISA总线GPIO扩展原理 在工业领域,GPIO的应用非常广泛,英利嵌入式Linux工控板上自带有16路GPIO.然而在实际应用中,经常需要多于16路的GPIO作为控制或者数据信号使用,这时候 ...
- 嵌入式linux内核启动过程,嵌入式Linux:ARM Linux启动流程
ARM Linux启动流程大致为:bootloader---->kernel---->root filesystem.bootloader 是一上电就拿到cpu 的控制权的,而bootlo ...
- 嵌入式linux实时化技术,嵌入式Linux实时化技术
引言 Linux支持PowerPC.MIPS.ARM.DSP等多种嵌入式处理器,逐渐被用于多种关键性场合.其中实时多媒体处理.工业控制.汽车电子等特定应用对Linux提出了强实时性需求.Linux提供 ...
- 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...
5.2 U-Boot移植 5.2.1 Bootloader介绍 1.概念 简单地说,Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序.通过这段程序,可以 ...
- 嵌入式linux启动根文件系统,嵌入式Linux根文件系统制作和挂载
嵌入式Linux系统由三部分组成: uboot.kernel.根文件系统, 还是这张老图 这里的根文件系统可以说是包含两个部分: 一个是根,一个是文件系统 那么什么是根呢?哈哈 其实根表示的就是第一个 ...
- linux spidev 应用_嵌入式Linux设备树语法总结
1 设备树的说明 在写完嵌入式驱动总结后,对于设备树相关的语法和使用一直都想进行系统的描述,但是因为最近比较忙碌,所以一直拖到现在才完成初版,对于整个嵌入式Linux驱动开发中,设备树语法和构建是其中 ...
最新文章
- qt on android qml,Qt on Android: Qt Quick 之 Hello World 图文详解
- 继承jpanel不显示_房产继承全指南
- 源码安装sippyqt4 for ubuntu,anconda3,python3
- python操作文件和目录_python文件和目录操作方法
- Python--第1次平时作业
- tcpdump: no suitable device found
- iText中给pdf内容添加水印
- 阿里云获ITSS最高等级认证:公共云、专有云服务能力双一级...
- Linux基础命令---gzexe
- java常用lib_Java常用工具类整理
- mysql中in的问题
- Win10系统80端口被系统进程占用
- 廖雪峰Git学习 | 笔记五:撤销修改
- mysql数据库基础知识--一分钟让你数据库入门(sql基础语法篇)
- linux手写软件,Linux 手写输入法
- 最新html word 分页符,分页符 有什么用
- 【山科OJ】Problem C: Matrix Problem (III) : Array Practice
- 基于SSM框架实现的日记管理系统
- 曾经社交王者人人为何如今失魂落魄
- OC中用字典创建一个具有省市区的应用(简单的字典运用代码)
热门文章
- windows平台python安装SciPy
- 项目中要使用到动态规划该怎么应用,怎么说?
- 近二十年大数据行业怎么样?解决了什么?经历了什么?
- leetcode 199. Binary Tree Right Side View | 199. 二叉树的右视图(Java)
- CentOS 6 安装Hadoop 2.6 (一)准备工作
- CSS浮动、定位与z-index层叠等级详解——响应式Web系列学习笔记
- 电话聊天狂人 (25 分)【简便解法】
- 【绝对有用】Server Tomcat v9.0 Server at localhost failed to start
- 15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)
- (*长期更新)软考网络工程师学习笔记——Section 6 网络层上篇