Linux 需要交叉编译的ntp配置

来源:互联网 发布:深圳益讯网络 编辑:程序博客网 时间:2024/05/17 07:44

客户端采用ARM板

交叉编译工具是:arm_v5t_le-gcc

使用的源码包:ntp-4.2.6p5.tar.gz 

移植步骤

 1、解压ntp到指定目录  tar  zxvf  ntp-4.2.6p5.tar.gz 

 2、进入解压目录,并配置:

cd  ntp-4.2.6p5

./configure  --prefix=/usr/local/ntp --exec-prefix=/usr/local/ntp --host=arm_v5t_le  CC= arm_v5t_le-gcc

注意:/usr/local./ntp修改成你自己要安装到的目录

其中:arm_v5t_le为你的交叉编译的工具名,arm_v5t_le-gcc为你的交叉编译器。如果交叉编译器和交叉编译工具没有匹配的话就会报错

3、编译并安装

make

make install

4、安装完成后,在usr/local/ntp下有三个文件夹:bin    lib    man

bin目录中的命令文件有如下:

ntpd   ntpdate   ntpdc   ntp-keygen  ntpq   ntptime   ntptrace   ntp-wait   sntp  tickad
5
、把bin目录下的需要的命令文件拷贝到开发板的/bin目录下,或者全部拷贝过去 ,ntp客户端需要用到的命令有ntpdate,ntp服务器需要用到的命令有ntpd


服务器

若是板卡作为服务器

1、需要编辑开发板文件/etc/ntp.conf 
   执行命令: 
 root@am335x:~# vi  /etc/ntp.conf 
#restrict default nomodify notrap noquery
restrict 127.0.0.1 
restrict 192.168.1.0 mask 255.255.255.0nomodify notrap 
server  127.127.1.0       # local clock 
fudge   127.127.1.0  stratum 5
driftfile /var/lib/ntp/drift 
broadcastdelay   0.008 
keys                    /etc/ntp/keys

2、重启服务器:ntpd -c /etc/ntp.conf  

若是ubutun作为服务器

只需要通过apt-get install ntp,就能自动安装,之后直接重启服务器即可,使用命令:/etc/init.d/ntprestart 

注意:服务器重启后,需要等待5分钟左右,才能执行客户端同步时间的命令。

客户端

命令移植完毕后,开始准备测试。

1、首先检查,客户端和服务器是否能够连通

服务器端:ping 192.168.1.57(客户端IP)

客户端“ping 192.168.1.56(服务器IP)

2、执行 ntpdate 192.168.1.56

可能会出现以下错误

ntpdate:error while loading shared libraries: libcap.so.2: cannot openshared object file:

no such file or directory

解决办法:在你安装交叉编译ubuntu系统目录/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/usr/lib中有文件libcap.so.2libattr.so.1直接拷贝到开发板/lib目录下即可。

注意不同的交叉编译器路径可能不同

3、拷贝完成后,再次执行ntpdate命令。

当同步完成后,date命令查看之后显示的是UTC时间(世界标准时间),比北京时间(CST=UTC+8)相差8个小时,所以需要设置时区,在ubuntu系统目录/usr/share/zoneinfo/Asia中的文件Shanghai拷贝到开发板目录/etc中并且改名为localtime之后,用命令reboot重启即可。之后再date显示的时间就正确了。若再想查看UTC时间,则执行date -u.


注意:在使用客户端更新系统时间时,要保证其他的程序或者服务器不会更改系统时间



0 0
原创粉丝点击