当我们进行Linux应用开发时,我们面临的首要问题便是如何让windows、ubuntu和开发板三者完成通信,以便于代码文件的传输。
1.windows和ubuntu 的通信
首先我们在建立ubuntu虚拟机时将其网络适配器模式配置为NAT
然后打开虚拟网络编辑器,若是使用的是VMware Player 可能没有虚拟网络编辑器(反正我没找到,哈哈),建议使用VMware Workstation (b站有白嫖的许可证)。以管理员身份打开虚拟网络编辑器后找到VMnet8 NAT模式,点击NAT设置,查看子网掩码,子网IP,子网网关,拍下来到时候配置ubuntu IP要用。然后开启ubuntu,按照我之前的文章给ubuntu配置静态IP地址:
龙芯2k1000la开发之修改Ubuntu服务器版静态IP地址_hushichuanren的博客-CSDN博客
设置完IP地址重启后Ubuntu就能上网并且可以和windows互ping
2.loongnix和windows、ubuntu的通信
使用一根网线插到龙芯2k1000la的eth1网口(eth0网口留着给开发板上网),然后用一根usb转网口的线将网线和电脑连接起来。打开计算机管理,在设备管理器的网络适配器里找到你连接usb线后出现的网络适配器,并记住它的名字。
将ubuntu关机,在虚拟机设置里添加一个网络适配器,模式选择桥接,然后以管理员身份运行虚拟网络编辑器,找到VMnet0 桥接模式,选择桥接至你刚刚看到的那个网络适配器,然后点击确定。
开启ubuntu去查看网口信息,注意不能直接使用ifconfig,否则你可能看不见你刚刚添加的桥接网卡的网口,因为ifconfig只能显示已经启用的网口,此时要使用ifconfig -a 命令才能看到你刚刚添加的新网口,然后再次配置ubuntu静态IP地址,方法和上面一样,继续在之上的编辑内容下增添新IP信息,注意第二个网络里不需要再添加网关信息,否则会报错。完成后重启就能看到IP地址了。
然后在windows上打开控制面板-> 网络和Internet->网络和共享中心->更改网络适配器设置
右键以太网2,点击属性,双击IPv4
设置它的IP地址,网关和子网掩码,要让它的IP地址和ubuntu在同一网段内,网关都一样,然后设置DNS服务器,设置完点确定
然后开始配置开发板IP地址,用一根RS232-USB线将开发板连接至电脑,使用相应的软件,比如putty,MobaXterm等,其中putty是免费的,但UI比较简陋,也只支持串口和SSH连接 MobaXterm 付费但是功能更强大,画面更美观。连接好后开发板开机,具体配置方法可参考我之前文章:
龙芯2k1000la之无网络配置IP地址_hushichuanren的博客-CSDN博客
配置完后重启开发板就能看到开发板的IP地址了(注意需要将开发板IP配置在ubuntu的网段内)
然后此时应该还不能相互ping通,需要修改ubuntu上的配置文件
编辑 /etc/resolv.conf 文件,但是这个文件是系统组件自动维护的,你修改不了它的内容
此时我们要取消系统的托管
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
关闭动态更新/etc/resolv.conf 的符号链接,然后将nameserver改为你的网关
此时应该三者之间能相互ping通,并且能ping通百度的IP地址,但ping不通百度的域名,这是因为DNS服务有问题
sudo vi /etc/systemd/resolved.conf
修改以下内容,保存并退出
然后重启systemd-resolved服务
sudo service systemd-resolved restart
此时就能都ping通了
然后就将开发板eth0网口用网线接到路由器上,这是用于给开发板上网,开发板能上网后就可以下载nfs,tftp相关程序,然后直接访问在Ubuntu上搭建好的nfs,tftp服务器来获取文件了