嵌入式linux 使用ntpdate命令同步时间

2019-07-12 15:05发布

前言:     网络时间协议Network Time Protocol(NTP)是一种通过网络来获取并同步时间的方法。在可以访问网络的情况下 ,只需要安装NTP的client到公共的NTP server来修正时间即可。 一:准备工作 1:NTP官方网站下载源码包 http://www.ntp.org/downloads.html  2:交叉编译器版本  3:编译环境ubuntu14.02   二:编译移植 1:解压在ntp官网下载的源码包  xpb@xpb-virtual-machine:~/BLOG/ntp$ tar -xf ntp-4.2.8p12.tar.gz 2:进入解压好的目录  xpb@xpb-virtual-machine:~/BLOG/ntp$ cd ntp-4.2.8p12/ 3:在ntpd/ntp_loopfilter.c中增加下面的宏定义  xpb@xpb-virtual-machine:~/BLOG/ntp/ntp-4.2.8p12$ vim ntpd/ntp_loopfilter.c #ifndef MOD_NANO #define MOD_NANO  0x2000 #endif 4: 执行make之前相应的配置 xpb@xpb-virtual-machine:~/BLOG/ntp/ntp-4.2.8p12$ ./configure --host=mips-linux CC=mips-linux-gnu-gcc --prefix=$PWD/install 配置的环境包括--host表示编译后的程序是在mips的平台运行, CC选择交叉编译器, prefix表示安装文件的路径 check了一段时间之后报错 通过百度了之后 , 配置的时候多加一个选项 --with-yielding-select=yes即可 。 重新输入 xpb@xpb-virtual-machine:~/BLOG/ntp/ntp-4.2.8p12$  ./configure --host=mips-linux CC=mips-linux-gnu-gcc --prefix=$PWD/install --with-yielding-select=yes check完之后 5: make && make install 执行make &> ./host_make.txt  发现无错误, 继续make install就完成安装了 6: 此时当前目录下install文件夹中有4个目录 把bin下的ntpdate命令拷贝到板子中 , 即可执行 附录: 1:设置时区为CST时间  嵌入式的板子上可能会存在时区不正确的问题 , 解决办法很简单 把PC端的系统目录/usr/share/zoneinfo/Asia中的文件Shanghai拷贝到开发板目录/etc中并且改名为localtime之后,用命令reboot重启即可. 2:把当前的系统时间写入硬件时钟 hwclock -w 完