本文主要讲述以下两点:
1、2440通过PC机代理上网。
2、NTP在arm + linux环境下的安装,参考文章原文地址。
3、测试通过网络更新开发板时间。
首先NTP(network time protocol)的相关知识这里就不介绍了,网上一大堆,只要明白它是一个网络时间协议,由专门的组织提供这样一种需求。为什么要使用代理上网呢,因为公司只提供无线上网,没架设有线,2440只提供了有线网口,PC有无线,那就只能通过PC机进行上网了。
一、让2440可通过PC电脑进行上网
1、PC机是通过无线网络上网的,因此首先将PC的无线网络进行共享。
依次打开“网络邻居”-->“查看网络连接”,在“无线网络连接”上右键,切换到高级页面,在Internet连接共享中勾选“允许其他网络用户通过此计算机的Internet连接到连接”,在“家庭网络连接”中选择“本地连接2”(PC机的有线网口)-->确定。
2、点击确定后,会提示会将有线的IP设为192.168.0.1,点击是。(部分系统会提示会将有线IP设为“192.168.137.1”)
3、确定有线的IP地址为192.168.0.1(或192.168.137.1)
注:win7用户还需要做以下7~9操作
4、通过网线将2440主板与PC相连
5、设置2440的IP及网关
# ifconfig eth0 192.168.0.2
# route add default gw 192.168.0.1 //设置默认网关为PC机
6、测试与PC机网络是否连通
在终端中执行:
# ping 192.168.0.1
然后再执行:
# ping 61.139.2.69
执行结果如下:
可见网络连接正常,已经实现代理上网了。
linux DNS设置见第三步的 “修改/etc/resolv.conf”部分
以下为WIN7用户还需做的操作:
7、在无线网络属性页的共享页点击设置,进入高级设置
勾选除了远程桌面的项,点击确定,关闭属性页。
8、在网络共享中,点击更改
9、在“家庭或工作”和“公用网络”中都做如下设置
开启网络发现、开启文件打印共享、公用文件夹共享、密码保护共享选关闭、家庭组连接选允许。
二、交叉编译NTP源代码
从ntp官方网站下载ntp-4.2.6p5.tar.gz源码包
解压 tar zvxf ntp-4.2.6p5.tar.gz
cd ntp-4.2.6p5
文档为html的文件夹,可以参考
[root@localhost ntp-4.2.6p5]# ./configure --prefix=/home/nfs/ntp --exec-prefix=/home/nfs/ntp --host=arm-linux
[root@localhost ntp-4.2.6p5]# make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
注意部分人反应采用2.95.3编译ntp-4.2.4p4包会出错,还好我用2.95.3编译ntp-4.2.6p5未出现任何错误。
[root@localhost ntp-4.2.4p4]# make install
[root@localhost ntp]# ls
bin lib sbin man share
[root@localhost bin]# ls
ntpd ntpdc ntpq ntptrace sntp
ntpdate ntp-keygen ntptime ntp-wait tickadjntpdate ntp-keygen ntptime ntp-wait tickadj
三、考贝到开发板上进行测试
然后将上面的ntpdate考贝到开发板的/bin目录下,并执行
# chmod +x ntpdate
然后测试从网络同步时间
# ntpdate 202.118.1.81
21 May 11:44:13 ntpdate[986]: step time server 202.118.1.81 offset -4.384690 sec
证明同步成功了。
用命令ntpdate cn.pool.ntp.org测试没有成功,应该是DNS没有设置正确。
修改 /etc/resolv.conf ,修改后立即生效
search mizi.com
nameserver 192.168.0.1
注意:此处域名服务器应设为代理上网的IP地址,以前设置为61.139.2.69,是会不成功的
测试pingwww.baidu.com,成功。
这里还要提到时区,以前开发未设定时区,显示的时区为标准时区,每次更新后的时间总时相差8个小时。
通过环境变量TZ设置时区,
# export TZ=CST-8 //即东八区
# date
Tue May 21 11:49:50 CST 2013
时间正确了。