1 概述
开发板网线直连笔记本电脑的设置方法,主要是实现调试开发板的目的,而本文的目的是既能实现调试开发板,又能使得笔记本电脑和虚拟机能上网,保持外网的连接。
由于环境限制,笔记本电脑和开发板无法通过路由器连接起来,所以本文的目的是要实现笔记本电脑和虚拟机能够通过 WIFI 上网,并且开发板通过网线连接笔记本电脑和虚拟机在同一个网段内,最终实现 TFTP或 NFS 来进行开发调试。
通常笔记本电脑都是有 WIFI 和网口,这是两个独立网卡(无线网卡和有线网卡),我看了一些文章都是禁用 WIFI 来使得笔记本电脑,虚拟机和开发板配置在一个网段,那么这个调试过程中要上网查资料,那怎么办?请看下图。其原理是使得虚拟机其中的一个虚拟网卡和笔记本电脑的无线网卡在一个网段内,能够连接外网;而另一个虚拟网卡 VMnet2、笔记本电脑有线网卡和开发板在另一个网段内,组成一个局域网,达到调试的目的,但这个网段是不能够上网的。其实还有一种想法,留在最后面说。本文就实现如下图所示的网络。
首先要做到主机,虚拟机,开发板在同一个网络中,网关都设置为一样,IP 地址在同一网段内。通常把 IP 地址设置静态地址,避免下次开机 IP 地址更换,不利于调试。以下的配置先看,至于怎么操作后面详细写出。
主机 WIFI 和虚拟机 VMnet0 的 IP 配置:(注意网关是 X.X.0.X)
主机 WIFI 的 IP:192.168.0.100(这里的 IP 可以不需要固定,只是为了统一而设置)
虚拟机 VMnet0 的 IP:192.168.0.123(这里的 IP 可以不需要固定,只是为了统一而设置)
主机有线网卡,虚拟机 VMnet2 和开发板的 IP 配置:(注意网关是 X.X.1.X)
主机以太网 IP(用网线和开发板连接):192.168.1.2
虚拟机 VMnet2 的 IP:192.168.1.3
开发板的 IP:192.168.1.4
其实具体怎么配置还是需要看你现场的网络环境,如果你的网络配置了多级路由,那么你的网关要按照该原理来实际配置。需要你有一点点网络拓扑知识,要冲突即可。
2 配置主机 IP
首先设置网线连接好主机和开发板后没有上电的情况下,可以看到以太网显示网络电缆被拔出,如下图所示:
当开发板上电以后,开发板网卡与笔记本电脑的网卡连接后,如下图所示:
然后右键点击以太网,选择属性。
配置好点击确定,会弹出提示信息,不用理会,点击确定即可。
主机的有线网卡就配置好了,无线 IP 同理配置。
这样就配置好了主机的网络信息,接下来就配置虚拟机的信息,虚拟机的配置比较麻烦一些。
3 配置虚拟机的 IP
第一步:打开 VMware,注意是打开软件,并不是打开你的 Ubuntu 系统,在菜单里打开:编辑->虚拟网络编辑器
从下图可以看到 VMnet1 和 VMnet8,并没有上面所说的 VMnet0 和 VMnet2,VMnet0 并不是没有,而是被隐藏了,它是主要连接网络的网桥,而 VMnet1 和 VMnet8 分别为 Host-Only 网络模式和 NAT 的组网方式,具体不在讨论,主要关心 VMnet0 和 VMnet2,而 VMnet2 是真没有,这需要创建一个虚拟网桥出来。这样做的目的是 VMnet0 连接无线网卡起上网的作用,VMnet2 连接有线网卡起连接开发板作调试的作用,按照上图点击:更改设置。
打开更改设置,点击是后,在名称列表里可以看到 VMnet0 了,终于找到它了,点击选中 VMnet0,然后在 VMnet 信息桥接模式中默认是桥接方式为自动,在下拉菜单中选中无线网卡:Inter(R) Wireless-AC 9462;为何是它,字面意思可以看到无线 wireless,追究原因可以在网络连接信息中看到,
VMnet0 设置好了以后,就该 VMnet2 登场,有条件就上,没有条件创造条件也要上,没有 VMnet2 那就创造 VMnet2。按照下图点击:添加网络,弹出对话框中就是 VMnet2,这么巧?其实 VMware 的 VMnet提供了很多供我们使用,那就 VMnet2 吧,具体过程如下图所示:
添加以后,选中 VMnet2,设置为桥接模式,桥接至:Intel(R) Ethernet Connec
tion (6) I219-V,为什么选中的它,因为它就是有线网卡,具体操作如下图所示:
在网络连接信息中可以看到有线网卡的名称,如下:
设置好以后,点击:应用,确定
好了,虚拟机的两块网卡已经做了物理属性的连接配置。再配置网络属性后工作就完成了三分之二了。打开系统之前还有一件事要做,将 VMnet2 分配进操作系统里才可以使用。如下图,点击:网络适配器。(可以看到当前要打开系统的网络适配器里只有一个 VMnet0,所以需要添加 VMnet2 来实现我们目的)。
按照下图的步骤操作。
点击网路适配器进入设置界面,如下图所示:
进入设置之后点击添加按钮,选择网络适配器,然后点击添加。如下图所示:
然后对网络进行设置,设置为自定义模式:
这样,VMnet2 就添加进我们的操作系统了。接下里就是打开虚拟机系统,配置两个网络的 IP 信息。进入系统后,配置网络信息,有两种方式,一种是通过设置来直接设置网络配置,第二种方法是在终端通过命令的方式进行网络配置。
在这里我们通过终端来进行设置,首先打开终端,输入命令“ifconfig -a”,来查看所有的网络,如下图所示,而 ens33 和 ens38 分别对应 VMnet0 和 VMnet2。
首先配置无线网卡(ens33),使用命令
ifconfig ens33 192.168.0.123
来设置 ens33 的 ip 地址,网关等相应配置会自动设置。设置完成如下图所示:
再配置有线网卡(ens38,可能不一样):
使用命令
ifconfig ens38 192.168.1.2
来设置 ens38 的 ip 地址,网关等相应配置会自动设置。设置完成如下图所示:
按照我们的逻辑,ens33 为 VMnet0,用于连接主机的虚拟网卡,ens38 为 VMnet2,用于连接有线网卡。有没有设置好,ping 一下就知道了。
从下图可以看到无论是 192.168.1.20 还是 192.168.2.10 都可以 ping 通。说明配置没有问题。这样就完成了虚拟机的配置。
4 配置开发板 IP
开发板配置很简单,也最重要,在超级终端输入命令
ifconfig eth0 192.168.1.4
来设置开发板的 ip 地址,如下图所示
设置完成之后。使用命令分别 ping 我们的 windows 和 ubuntu,如下图所示
然后再测试一下 nfs 共享目录,在开发板使用如下命令挂在 ubuntu 的共享目录命令如下:
我们在 mnt 目录下创建了一个 1 的文件,在 ubuntu 端的 home/minilinux 目录下也应该有同样的文件,我们打开 ubuntu,如下图所示:
从上图可知,我们的 nfs 测试成功。
至此,我们就可以愉快的进行调试开发了!同时还可以通过 wifi 连接外网。
5 开发板直连交换机
开发板直连路由器是可以连接网络的,那么开发板如果直连交换机,交换机连接路由器,如果出现丢
包的问题,很可能是因为局域网下,开发板的 mac 地址和其他设备冲突,只要修改 mac 地址,便不会出现
丢包的情况。
修改 mac 地址方法如下:
进入开发板的文件系统模式,然后输入以下命令临时设置 mac 地址:
ifconfig eth0 down
ifconfig eth0 hw ether 00:01:04:1b:2C:1F
ifconfig eth0 up
然后再 ping 路由器 ip,发现不会再丢包了。