版本信息:

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服务相关推荐

  1. linux内核培训广州,嵌入式Linux驱动开发高级培训班-华清远见嵌入式培训中心

    课程目标 本课程以案例教学为主,系统地介绍Linux下有关FrameBuffer.MMC卡.USB设备的驱动程序开发.参加本课程学习的学员,因为具备了Linux设备驱动开发基础,所以本课程针对性较强, ...

  2. linux 直流电机驱动设计,嵌入式Linux直流电机驱动.PPT

    嵌入式Linux直流电机驱动.PPT 嵌入式Linux直流电机驱动实验 开发平台中直流电机驱动的实现 S3C2410芯片自带定时器,所以控制部分省去了三角波产生电路.脉冲调制电路和PWM信号延迟及信号 ...

  3. 嵌入式linux的发展历程,嵌入式Linux论文(历史发展分类及应用)

    嵌入式Linux 一.嵌入式Linux简介 1.1 嵌入式Linux历史 随着社会的发展,信息化技术的成熟和数字化产品的普及,让以计算机技术.芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用 ...

  4. 嵌入式linux 添加中断,《嵌入式linux应用程序开发完全手册》中断控制器操作(外部中断)学习笔记...

    <嵌入式linux应用程序开发完全手册>中断控制器操作(外部中断)学习笔记 一.ARM中断体系 当一个"异常"发生时,或者说当收到一个中断触发信号时,ARM9将会自动完 ...

  5. linux添加扩展gpio,嵌入式Linux工控板的ISA总线GPIO扩展

    1.精简ISA总线GPIO扩展原理 在工业领域,GPIO的应用非常广泛,英利嵌入式Linux工控板上自带有16路GPIO.然而在实际应用中,经常需要多于16路的GPIO作为控制或者数据信号使用,这时候 ...

  6. 嵌入式linux内核启动过程,嵌入式Linux:ARM Linux启动流程

    ARM Linux启动流程大致为:bootloader---->kernel---->root filesystem.bootloader 是一上电就拿到cpu 的控制权的,而bootlo ...

  7. 嵌入式linux实时化技术,嵌入式Linux实时化技术

    引言 Linux支持PowerPC.MIPS.ARM.DSP等多种嵌入式处理器,逐渐被用于多种关键性场合.其中实时多媒体处理.工业控制.汽车电子等特定应用对Linux提出了强实时性需求.Linux提供 ...

  8. 嵌入式linux开发环境 cpu,嵌入式Linux开发环境的搭建之:U-Boot移植-嵌入式系统-与非网...

    5.2  U-Boot移植 5.2.1  Bootloader介绍 1.概念 简单地说,Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序.通过这段程序,可以 ...

  9. 嵌入式linux启动根文件系统,嵌入式Linux根文件系统制作和挂载

    嵌入式Linux系统由三部分组成: uboot.kernel.根文件系统, 还是这张老图 这里的根文件系统可以说是包含两个部分: 一个是根,一个是文件系统 那么什么是根呢?哈哈 其实根表示的就是第一个 ...

  10. linux spidev 应用_嵌入式Linux设备树语法总结

    1 设备树的说明 在写完嵌入式驱动总结后,对于设备树相关的语法和使用一直都想进行系统的描述,但是因为最近比较忙碌,所以一直拖到现在才完成初版,对于整个嵌入式Linux驱动开发中,设备树语法和构建是其中 ...

最新文章

  1. qt on android qml,Qt on Android: Qt Quick 之 Hello World 图文详解
  2. 继承jpanel不显示_房产继承全指南
  3. 源码安装sippyqt4 for ubuntu,anconda3,python3
  4. python操作文件和目录_python文件和目录操作方法
  5. Python--第1次平时作业
  6. tcpdump: no suitable device found
  7. iText中给pdf内容添加水印
  8. 阿里云获ITSS最高等级认证:公共云、专有云服务能力双一级...
  9. Linux基础命令---gzexe
  10. java常用lib_Java常用工具类整理
  11. mysql中in的问题
  12. Win10系统80端口被系统进程占用
  13. 廖雪峰Git学习 | 笔记五:撤销修改
  14. mysql数据库基础知识--一分钟让你数据库入门(sql基础语法篇)
  15. linux手写软件,Linux 手写输入法
  16. 最新html word 分页符,分页符 有什么用
  17. 【山科OJ】Problem C: Matrix Problem (III) : Array Practice
  18. 基于SSM框架实现的日记管理系统
  19. 曾经社交王者人人为何如今失魂落魄
  20. OC中用字典创建一个具有省市区的应用(简单的字典运用代码)

热门文章

  1. windows平台python安装SciPy
  2. 项目中要使用到动态规划该怎么应用,怎么说?
  3. 近二十年大数据行业怎么样?解决了什么?经历了什么?
  4. leetcode 199. Binary Tree Right Side View | 199. 二叉树的右视图(Java)
  5. CentOS 6 安装Hadoop 2.6 (一)准备工作
  6. CSS浮动、定位与z-index层叠等级详解——响应式Web系列学习笔记
  7. 电话聊天狂人 (25 分)【简便解法】
  8. 【绝对有用】Server Tomcat v9.0 Server at localhost failed to start
  9. 15行代码AC——习题3-3 数数字 (UVa1225,Digit Counting)
  10. (*长期更新)软考网络工程师学习笔记——Section 6 网络层上篇