1020 字
5 分钟
Uboot中网络的配置错误解决方案
在学习正点原子I.MX6Ul驱动移植时,在Uboot的网络操作和NFS部分遇到了一些搭建问题,如校园网情况下按照常规教程配置 IP 后(开发板 192.168.1.100,虚拟机 192.168.1.101),两者始终无法 ping 通。
1. 原因分析
- 初始问题:按照常规教程配置 IP 后(开发板
192.168.1.100,虚拟机192.168.1.101),两者始终无法ping通。 - 根本原因:宿主机(Windows)连接的是校园网,其 IP 段(如
10.80.168.x)与开发环境预设的192.168.1.x网段不同。若直接将虚拟机或开发板接入此网络,会因校园网认证机制导致连接失败。
2. 解决方案核心思路
为了实现主机、虚拟机、开发板三者在同一私网段内直接通信,同时避免校园网认证,确保Ubuntu下网络正常使用,采用 “虚拟机双网卡 + Windows网桥” 的方案:
- 虚拟机双网卡:一张用于连接校园网上网(NAT模式),另一张用于与开发板通信(仅主机模式)。
- Windows网桥:将连接开发板的物理网卡与虚拟机的“仅主机”虚拟网卡桥接,使三者处于同一网络平面。

3. 详细配置步骤
步骤一:为Ubuntu虚拟机添加第二张网卡
- 在 VMware 中关闭虚拟机。
- 进入虚拟机设置,添加一个新的网络适配器。
- 将其网络连接模式设置为 “仅主机模式”。
步骤二:配置VMware虚拟网络
- 打开 VMware 的 编辑 -> 虚拟网络编辑器。
- 选择
VMnet1(仅主机模式),点击“更改设置”。 - 将子网IP修改为
192.168.1.0,子网掩码为255.255.255.0。点击确定。
步骤三:配置Ubuntu内部网络
- 启动Ubuntu,打开系统设置 -> 网络。
- 找到对应“仅主机模式”的新有线连接(可能名称为“有线连接 2”)。
- 进入其
IPv4设置,选择手动配置:- 地址:
192.168.1.101 - 子网掩码:
255.255.255.0 - 网关:
192.168.1.1 - DNS:
192.168.1.1(或8.8.8.8)
- 地址:
- 应用设置。
步骤四:在Windows中创建网络桥接(关键)
- 打开 控制面板 -> 网络和共享中心 -> 更改适配器设置。
- 按住Ctrl键,同时选中以下两项:
- 连接开发板网线的物理网卡(如“以太网 3”)。
- VMware 的虚拟网卡
VMware Network Adapter VMnet1。
- 右键点击其中之一,选择 “桥接”。系统将创建一个新的 “网络桥”。
- 右键点击新创建的网桥,进入 属性 -> Internet 协议版本 4 (TCP/IPv4)。
- 设置静态IP:
- 地址:
192.168.1.1 - 子网掩码:
255.255.255.0 - 网关和DNS可留空。
- 地址:
步骤五:配置开发板U-Boot环境变量
在开发板 U-Boot 命令行中设置:
setenv ipaddr 192.168.1.100 # 开发板IPsetenv ethaddr 00:04:9f:xx:xx:xx # 开发板MAC地址,在网络中要是唯一值setenv gatewayip 192.168.1.1 # 网关(即Windows桥接IP)setenv netmask 255.255.255.0 # 子网掩码setenv serverip 192.168.1.101 # 服务器IP(即Ubuntu IP)saveenv # 保存配置4. 连通性测试
配置完成后,请按顺序进行测试,确保每一跳都通。
-
测试主机到虚拟机 (在 Windows 命令提示符中):
ping 192.168.1.101 -
测试虚拟机到主机 (在 Ubuntu 终端中):
ping 192.168.1.1 -
测试开发板到主机和虚拟机 (在 U-Boot 中):
ping 192.168.1.1ping 192.168.1.101如果全部成功,则证明网络已彻底打通。
5. 重要注意事项与排错
- 防火墙:若
ping不通,请关闭 Ubuntu (使用sudo ufw disable) 和 Windows 防火墙进行测试,以排除其干扰。 - IP冲突:确保
192.168.1.1、.100、.101这三个IP没有被局域网内其他设备占用。 - 网桥IP重置:完成桥接后,Windows 物理网卡和
VMnet1的原始IP会失效,所有通信都应使用桥接器的新IP (192.168.1.1)。 - 开发板MAC地址:
ethaddr环境变量必须设置,且在同一网络中需保持唯一。 - 校园网影响:此方案成功的关键在于**“仅主机模式”的虚拟网络和物理网桥完全独立于校园网**,避免了认证问题。
Uboot中网络的配置错误解决方案
https://qiandaos.top/posts/linux-notes/uboot-net/ 部分信息可能已经过时





