网络配置
说明
本贴主要用于:
1【网络配置】实现TFTP下载linux内核镜像文件、设备树文件到开发板和NFS挂载根文件系统
2【开发板ping通Ubuntu】也可为ping不通的读者提供一个参考依据
3【学习正点原子驱动开发】与教程相同操作却出现网络问题的读者提供保姆级配置教程
①网络环境搭建
需要用到:一根网线。
连接方式:用网线将开发板的 ENET2接口和电脑连接起来, I.MX6U-ALPHA开发板有两个网口: ENET1和 ENET2,一定要连接 ENET2。
一般的同学应该都是在实验室使用自己的笔记本电脑,连接实验室的无线网进行学习。
那么,你属于【电脑WiFi 上网,开发板和电脑直连】可以放心跟着本教程一步一步操作。
如果你是【电脑和开发板直连同个路由器】或【电脑和开发板直连同个交换机】建议你先观看原子的网络配置教程。
我建议采用与我相同的网络搭建方式【电脑WiFi 上网,开发板和电脑直连】,可以无脑跟着教程走。
具体的网络拓扑结构如图,建议和我配置成一样的IP。
【傻瓜式步骤】:
这里要设置两个网络适配器。网上有很多帖子的解决方案有误导,只有一个网络适配器,为了虚拟机ubuntu–本地主机windows—开发板—虚拟机ubuntu其中一个ping通(ping指的是在两个网络点之间请求消息来确定目标主机是否可达),却牺牲了另一个网络点。
①一个适配器设置成桥接模式,让ubuntu作为服务器,供开发板连接。(IP可设定)
②一个适配器设置成NAT模式,用来主机和虚拟机传文件,和供虚拟机上网。(IP自动生成)
点击管理员更改设置按钮后一般会出现vmnet0。
但如果你没有vmnet0
--------------------------------->跳转到【问题】执行步骤。
但如果你一切正常
--------------------------------->跳转到【正常】执行步骤。
【问题】应该是之前跟着别的帖子删掉了,建议手动添加,或者还原默认设置。
手动添加:
或还原默认设置:
【正常】如果你一切正常,就不需要还原默认,就继续下面的步骤。
开发板是通过一根网线接到电脑的网络接口上的,所以需要虚拟网络编辑器里的网络适配器1(即VMnet0)桥接到有线网卡上。
把vmnet0设置成桥接到realtek PCIe …。
配置好之后试是这样的。
要记住自己的VMnet8随机生成的地址:
比如我的是 子网地址 = 192.168.225.0
此时,还需要在ubuntu中继续相关设置。
打开ubuntu中的设置,点击网络,能够查看到两个有线网络。(我截图的是已经设置好的,略有区别没关系,继续操作)
点击“小齿轮”,设置按钮,可以查看详细信息,其中一个网络是NAT模式的网络适配器2,已经自动分配好IP了。
可以看到此时的IP = 192.168.225.128
细心的同学观察到,这与VMnet8随机生成的地址 子网地址 = 192.168.225.0在同一个网段下的。
这样就是没问题的。
另一个也点击“小齿轮”,设置按钮,可以查看详细信息,这个还没有设置IP的,是我们的网络适配器1,用来桥接到开发板和Windows的。
所以我们需要手动设置一个IP。
按照我一样的设置。
将地址设置为:IP = 192.168.10.100
子网掩码设置为:子网掩码 = 255.255.255.0
记者这个IP地址和子网掩码,这个IP地址就是
配置好之后点击应用,并打开这两个有线网络,使其配置生效。
到这里ubuntu对网络的设置已经完成了。
现在设置Windows的以太网IP的相关信息。在Windows主机打开控制面板 -> 网络和 Internet -> 查看网络状态->更改适配器设置,找到以太网。右键更改属性。
将以太网的地址设置:IP = 192.168.10.200
要和虚拟机的VMnet0在同一网段。
如此一来,
ubuntu用来和windows互传以及上网的虚拟网卡 IP = 192.168.255.128
ubuntu的地址为 IP = 192.168.10.100
本地主机的以太网 IP = 192.168.10.200
还需要将开发板是IP地址也设置到同一网段下,才能实现相互ping通。完成我们想要的网络环境搭建。
我们先预想,将开发板的地址设置为: IP = 192.168.10.50
那么开发板的IP如何进行配置呢,这就需要在前面按下回车之后进入的uboot命令行中进行设置了。
所以下一步:在uboot命令行中进行环境变量设置。
②环境变量设置
回到这个界面。
输入
print
按下回车后,可以显示当前默认的环境变量。
下面显示的是我配置了几个环境变量之后print打印的所有环境变量信息,未配置显示的没有这么多,没关系,我们后面傻瓜式配置。
先说一下简单命令的使用方法:(不然有人写错都不知道怎么改)
设置环境变量:
setenv+环境变量名字+变量值
写错了,想删除环境变量:
setenv+环境变量名字+(不写变量值)
保存环境变量的设置:
saveenv
接下来,跟着一步一步设置:
/home/wangyongyang/linux/nfs/rootfs
记得更改成自己nfs的目录。
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.10.100:/home/wangyongyang/linux/nfs/rootfs ip=192.168.10.50:192.168.10.100:192.168.10.1:255.255.255.0::eth0:off'
解释一下:(仅为了ping通可以不设置)
上面这段这是配置【根文件系统系统】的。设置为从NFS服务器(Ubuntu作为服务器)挂载。
setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000;'
解释一下:(仅为了ping通可以不设置)
上面这段这是配置【镜像文件和设备树】的。设置为TFTP服务器(Ubuntu作为服务器)下载。
setenv ethaddr b8:ae:1d:01:00:01
这里使用同一个路由器的如果有同学也用的原子的开发板,可能会有冲突,可以设置成最后来两位改成05/04/08
等等都行。
setenv ipaddr 192.168.10.50
setenv ethaddr b8:ae:1d:01:00:01
setenv gatewayip 192.168.10.1
setenv netmask 255.255.255.0
setenv serverip 192.168.10.100
看到这几个IP地址应该有点印象。
简单解释一下:
setenv ipaddr 192.168.10.50
开发板的IP地址
setenv ethaddr b8:ae:1d:01:00:01
MAC
setenv netmask 255.255.255.0
子网掩码
setenv gatewayip 192.168.10.1
网关地址
setenv serverip 192.168.10.100
服务器的IP(Ubuntu的IP)
saveenv
重启一下,或者按下复位键,倒计时结束前按一下回车,我们检查一下是否写成功了。
ping一下服务器试一下:
ping 192.168.10.100
ping主机需要关闭主机防火墙,我使用的是公网就不方便关闭了。
还要测试一下,ubuntu和windows通过FileFilla传输文件是否可行:
打开FileFilla,这个时候站点的IP地址应该修改为:ubuntu用来和windows互传以及上网的虚拟网卡 IP = 192.168.255.128
连接成功了,ubuntu和windows之间的互通就没有问题了。
那么,到这网络配置就可以了,已经可以实现使用TFTP下载linux内核镜像文件、设备树文件到开发板和NFS挂载根文件系统。