论坛元老
- 积分
- 5274
- 金钱
- 5274
- 注册时间
- 2019-9-25
- 在线时间
- 433 小时
|
发表于 2020-2-20 11:12:18
|
显示全部楼层
本帖最后由 茂茂2019 于 2021-5-8 10:58 编辑
您好!由于yocto的文件系统开机启动时会自动获取ip。如果您再设置静态ip,此时用ip a指令查看就会有两个ip。且这两个ip都是可用的。解决方法如下
1.我们首先找到yocto文件系统(也就是原子出厂文件系统)开机自动获取ip的文件。将/etc/init.d/connman命名为 /etc/init.d/connman2,这样开机就不会自动获取ip。。重命名指令如下
User# mv /etc/init.d/connman /etc/init.d/connman2
2.我们直接设置开发板的ip。重命名/etc/init.d/connman后,此设置静态ip的方法已经不生效。所以我们直接设置开发板的ip
User# ifconfig eth0 192.168.1.52 netmask 255.255.255.0 //直接设置开发板的ip及子掩码
User# route add default gw 192.168.1.1 //添加默认网关,根据个人的网关设置,一般的路由器网关为192.168.1.1
此时输入ping网关指令ping 192.168.1.1。发现是可以ping通了,但是ping外网百度还不行。
3.我们需要设定nameserver关键字才可以找到DNS服务器,这样才能解释百度ip的真实地址。
User# vi /etc/resolv.conf //在这个文件里添加nameserver关键字
在/etc/resolv.conf 这个空文本里添加 nameserver 114.114.114.114 然后保存退出,再去ping百度就可以了。
User# ping www.baidu.com //ping 百度,有数据回复。表明正常了
4.如果想开机自动设置您的ip。请在/etc/rc.local下添自启动脚本的内容即可!请参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.2.pdf第39.4.2小节,设置开机自启动设置
PATH=/sbin:/bin:/usr/sbin:/usr/bin
ifconfig eth0 192.168.1.52 netmask 255.255.255.0
route add default gw 192.168.1.1
echo "nameserver 114.114.114.114" > /etc/resolv.conf
下面是本人实际操作的步骤,感谢对正点原子的支持,谢谢!
|
|