前言
现在笔记本电脑逐渐取消了网口,移除了有线网卡,导致linux驱动开发的程序员无法通过网线直连开发板。当然可以使用usb有线网卡代替,往往这时候就需要关闭无线网卡,不然虚拟机的linux环境无法连通开发板,经过几天的研究发现无需禁用无线网卡也能实现虚拟机直接连通开发板,本地也可以连接到外网上。
虚拟机连接开发板
配置Ubuntu
这里我使用的是Ubuntu
1、配置Ubuntu的IP,打开系统设置->网络->
选项->IPv4设置改成手动配置IP 增加一条配置 比如 地址192.168.0.20 子网掩码:25或者255.255.255.0 网关192.168.0.2 (记住这个IP)具体如下图:
点击保存之后不要急着关掉关闭一下网卡再打开
2、然后点击虚拟机VMware Workstation 上方的工具栏 虚拟机->设置,弹出虚拟机设置点击网络适配器选择网络连接方式为桥接模式。
windows配置
点击更改网络适配器弹出网络连接 这里先关闭一下无线网卡 wlan 右键->禁用
点击有线网卡右键属性->Internet协议版本4(TCP/IP)->使用下面的IP地址 配置IP 地址:192.168.0.2(这个一定要是Ubuntu的网关地址)子网掩码:255.255.255.0 默认网关可以不配 配置如下:
开发板配置
打开终端,连接开发板进入uboot(uboot命令这里不详细说明)
配置默认网关环境变量setenv gatewayip 192.168.0.2 (一样的本地电脑IP)
配置IP 环境变量setenv ipaddr 192.169.0.50 (要跟前面的IP都不一样但一定要在同一网段)
保存 saveenv
现在可以试试能不能ping通Ubuntu ping 192.168.0.20
发现无论是主机还是虚拟机都是通的(ps:不要用虚拟机或者主机ping开发板 uboot不对ping的数据进行处理的所有会失败)
到这已经完成了一半了,接下来也是最重要的让主机连上外网。
主机连接外网
可以参考https://blog.****.net/cainiao2013/article/details/88925897
我在这里也讲一遍,打开cmd 命令行最好是管理员模式
1、首先清除一下所有的路由 route delete 0.0.0.0
2、看一下无线网卡的网关 比如是192.168.1.1 输入命令 :route -p add 0.0.0.0 mask 0.0.0.0 mask 192.168.1.1
让所有的网址都经过路由器也就是外网网关
3、route -p add 192.168.0.0 mask 255.255.255.0 192.168.0.2 这是让来自192.168.0.0这个网段的访问都经过有线网卡
4、输入route print 看一下是否配置正确
这时候再用开发板ping一下主机192.168.0.2
5、打开网络适配器选择无线网卡->右键属性->高级 把自动越点去掉 接口越点数 1 如下图:
到这里完成大部分了,现在主机是不是能上网了,开发板也能ping通主机了,但是你会发现开发板平ping不通虚拟机的完成下面的配置才行。
6、打开vmware workstation 选择上方工具栏编辑->虚拟网络编辑 如果发现是灰色,不可配置状态那点击下方更改设置。然后选择 一开始选择的桥接模式的那个网卡,将已桥接至 改为有线网卡就行了。
然后确定就行了。
接下来用uboot ping虚拟机是不是通了,本地也可以上网,至此大功告成。