1.为什么要处在同一网段
在Zynq开发板上做Linux应用开发的同僚们,应该都会使用到NFS服务软件。在ZYNQ开发板上通过挂载 NFS,将虚拟机中 NFS的共享目录挂载到本地,实现文件共享,进而可以直接运行虚拟机上的文件。但是,成功挂载NFS的一个重要前是开发板和虚拟机需要处在同一个网段。
使用 ifconfig 命令查看虚拟机 IP 地址,下图的例子中是192.168.1.55,属于192.168.1网段。
在串口终端中使用 ifconfig 命令查看开发板 IP 地址,下图的例子中是 192.168.1.46,属于192.168.1 网段,因此他们属于同一网段。
2.笔者之前是怎么做的
笔者是利用一个路由器和两根网线进行操作。将其中一根网线的一端连接自己的笔记本电脑,另一端连接路由器的一个LAN口;另一根网线一端连接开发板,另一端连接路由器的另一个LAN口。笔记本电脑使用自动分配IP,不连接任何WIFI,虚拟机与真机之间通过桥接进行联网。
优点:操作简单
缺点:需要路由器,硬件设备多,线路繁琐**
3.现在怎么做
分别为ZYNQ开发板和虚拟机分配固定IP,最后拿网线将笔记本电脑和开发板连起来。具体操作如下:
ZYNQ开发板端:利用Petalinux定制Linux时,设置自动获取固定IP,方法如下:
- cd 到项目工程目录下,运行命令:petalinux-config或者直接在petalinux-config --get-hw-description …/linux_base.sdk的时候,依次选择 Subsystem AUTO Hardware Settings
2.依次选择-> Ethernet Settings
3.依次在-> Obtain IP address automatically -> Enter输入 “N”,需要修改的固定MAC,IP地址,网关,子网掩码可以从这里设置,系统启动以后就会是这个固定IP。
4. 然后保存配置并退出,编译生成启动文件petalinux-build。
虚拟机端:为虚拟机分配固定IP,方法如下(笔者这里使用的是VMware 15,Ubuntu 16.04):
1.打开虚拟网络编辑器:
2.点击更改设置
3.设置Vmnet0为桥接模式,桥接到处设置为电脑的有线网卡:
4.修改网络适配器设置,改为桥接模式
5.进入Ubuntu,打开命令窗口(右键单机桌面选择Terminal),输入命令ip a,查看自己网卡编号,比如我的就是ens33ip a
6. 接下来输入命令sudo vi /etc/network/interfaces,编辑该文件。注意此处ens33处用自己的网卡编号替换,address和gateway也是要视情况定的。address的话填写一个和开发板处于同一网段的IP地址。若没有权限写该文件则将路径移动到/etc/network/,执行sudo chmod 777 interfaces 为 interfaces文件添加权限。sudo vi /etc/network/interfacescd /etc/network/sudo chmod 777 interfaces
8. 编辑完成后按esc(对就是键盘左上角那个),再输入:wq!就可以保存退出了,输入sudo /etc/init.d/networking restart重启网络。sudo /etc/init.d/networking restart
至此,虚拟机固定IP配置完成