嵌入式Linux开发_Ping来Ping去

ping通了,才顺。

本文大部分整理了韦东山老师的相关教程,自己着重记录了易忘部分,感谢韦老师!

目录

一、Ping的设置流程

二、桥接和NAT区别

三、开发板不同阶段设置IP

四、开发板直连PC

五、实在Ping不通_玄学问题

六、开发板通过NFS挂载Ubuntu的目录


一、Ping的设置流程

桥接模式(勾选复制状态)+ 选择对网卡(管理员身份打开虚拟网络编辑器,根据具体情况选网卡,不能选自动);

设置开发板IP等参数。

注意:Windows中的WIFI网卡、有线网卡,它们2IP的网段绝不能相同!

二、桥接和NAT区别

桥接模式:(非校园网使用)

在这种模式下,Windows主操作系统、VMWare上运行的Ubuntu操作系统,就相当于2台独立的电脑。

如果Windows需要拔号才能上网,那么Ubuntu也需要拔号才能上网。但是一般来说学校、单位没有Ubuntu下的拔号软件。这时,Ubuntu想上网就不能使用桥接模式。

NAT模式:(校园网使用)

VMWare上运行的Ubuntu操作系统,它对外访问时,会使用WindowsIP,这称为共享主机WindowsIP

在这种模式下,只要Windows能上网,Ubuntu就可以上网,Ubuntu的IP相关设置都为自动。

但是这种模式下,开发板无法访问Ubuntu,适合中途暂时联网下载资料。

三、开发板不同阶段设置IP

开发板运行UBOOT时、运行LINUX时,它们的IP需要分别设置,这两个阶段的IP没有联系。这两个阶段不会同时运行,所以它们的IP可以相同。

如果开发板正在运行UBOOT,执行以下命令设置IP:

set ipaddr 192.168.1.123
save

注意:UBOOT不回应PING数据,所以你是PING不通UBOOT的,只能在UBOOT去PING外边的电脑。如果最后uboot代码返回显示alive”就表示通了。有时候Windows有防火墙导致PING不通,可以尝试去PING ubuntuIP

  • 如果开发板正在运行LINUX,一般来说也不需要设置IP。如果有问题,比如执行ifconfig命令后无法查看到网卡的IP,你可以执行以下命令设置手工IP:

  • echo  “ifconfig   eth0  192.168.1.123”  >> /etc/init.d/rcSreboot

四、开发板直连PC

以下两个阶段都不好控制,所以,不要直连,中间加路由器或者HUB设备! 

如果电脑和开发板用网线直连,开发板上的程序,必须全程使能网卡:

a. 如果你要在开发板上玩UBOOT

原生UBOOT是个奇葩,它平时不使能网卡,只有在使用网络命令那一小会,才使能网卡。

如果一定要直连,必须更换为"全程使能网卡的UBOOT",一般情况下并没有全程使能网卡。

b. 如果你要在开发板上玩LINUX:

这个LINUX必须有网卡驱动,必须配置了网卡,可以在开发板里执行类似这样的命令:

ifconfig eth0 192.168.1.123

五、实在Ping不通_玄学问题

问题:windows可以连外网,Ubuntu可以连外网,可以ping外网,但是windows和Ubuntu互ping不通。

过程:设置了一切,桥接+各方ip+防火墙关闭+Ubuntu重启,无果。

解决:windows重启,一切ok。

分析:可能是某些设置windows没有及时生效。

防火墙问题:Windows的防火墙拦截,启用这两规则:(位于:防火墙的高级设置(安全高级windows Defender)-入站规则)

六、开发板通过NFS挂载Ubuntu的目录

开发板上不一定安装有FTP服务、SSH等服务,所以不一定能使用FTP等工具登录开发板。

但是开发板的系统一般都自带mount命令,并且支持NFS文件系统。所以可以在开发板上执行mount命令挂载ubuntu的某个目录。这样就可以在开发板和Ubuntu之间传文件了。

开发板使用NFS挂载Ubuntu的前提Ubuntu中已经安装了NFS服务,并且在/etc/exports中配置了某个目录供挂载。

  • Ubuntu上安装、配置NFS服务

如果你的Ubuntu未安装NFS服务,那么在确保Ubuntu可以上网的前提下,执行以下命令:

sudo apt-get install nfs-kernel-server

 然后,修改/etc/exports,添加类似以下的内容,下面的例子里允许开发板通过NFS访问Ubuntu/home/book/work两个目录:

/home/book   *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

/work         *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

 最后,重启NFS服务,在Ubuntu上执行以下命令:

sudo /etc/init.d/nfs-kernel-server restart

可以在Ubuntu上通过NFS挂载自己,验证一下NFS可用:

sudo mount -t nfs -o nolock, vers=3 127.0.0.1:/home/book /mnt
ls /mnt
  • 在开发板上挂载UbuntuNFS文件系统

确保开发板可以pingUbuntu后,就可以通过NFS挂载Ubuntu中的某个目录(查看Ubutnu/etc/exports文件)。

假设UbuntuIP为:192.168.1.100,在开发板上可以执行下面的命令挂载Ubuntu/home/book目录到开发板的/mnt目录:

 mount -t nfs -o nolock, vers=2 192.168.1.100:/home/book /mnt
 // 如果不成功,就把vers=2改为vers=3或vers=4,因为exports文件中不同版本的语法不一样
 mount -t nfs -o nolock, vers=3 192.168.1.100:/home/book /mnt

如果一切正常,你可以在Ubuntu上把文件放到/home/book目录中,在开发板上可以从/mnt目录中访问该文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章