ping通了,才顺。
本文大部分整理了韦东山老师的相关教程,自己着重记录了易忘部分,感谢韦老师!
目录
一、Ping的设置流程
桥接模式(勾选复制状态)+ 选择对网卡(管理员身份打开虚拟网络编辑器,根据具体情况选网卡,不能选自动);
设置开发板IP等参数。
注意:Windows中的WIFI网卡、有线网卡,它们2个IP的网段绝不能相同!
二、桥接和NAT区别
① 桥接模式:(非校园网使用)
在这种模式下,Windows主操作系统、VMWare上运行的Ubuntu操作系统,就相当于2台独立的电脑。
如果Windows需要拔号才能上网,那么Ubuntu也需要拔号才能上网。但是一般来说学校、单位没有Ubuntu下的拔号软件。这时,Ubuntu想上网就不能使用桥接模式。
② NAT模式:(校园网使用)
VMWare上运行的Ubuntu操作系统,它对外访问时,会使用Windows的IP,这称为共享主机Windows的IP。
在这种模式下,只要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 ubuntu的IP。
-
如果开发板正在运行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
- 在开发板上挂载Ubuntu的NFS文件系统
确保开发板可以ping通Ubuntu后,就可以通过NFS挂载Ubuntu中的某个目录(查看Ubutnu的/etc/exports文件)。
假设Ubuntu的IP为: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目录中访问该文件。