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

前言:

    网络时间协议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命令拷贝到板子中 , 即可执行

嵌入式linux 使用ntpdate命令同步时间_第1张图片

附录:

1:设置时区为CST时间 

嵌入式的板子上可能会存在时区不正确的问题 , 解决办法很简单 把PC端的系统目录/usr/share/zoneinfo/Asia中的文件Shanghai拷贝到开发板目录/etc中并且改名为localtime之后,用命令reboot重启即可.

2:把当前的系统时间写入硬件时钟

hwclock -w

你可能感兴趣的:(linux系统编程)