2023-08-23---Linux驱动开发学习(八)---网络环境搭建与遗留问题

本文讲述了如何在Ubuntu22.04版本问题下,通过降低Linux内核版本至18.04,解决PC、Ubuntu虚拟机和Linux开发板之间的网络连接问题,包括配置TFTP服务、NFS服务挂载以及注意事项。
摘要由CSDN通过智能技术生成

上回我们学习到网络环境搭建的作用与方法,今天则完成了PC,Ubuntu虚拟机和正点原子Linux开发板三者互连,然而因为Ubuntu22.04无法启动低版本NFS,导致无法挂载根文件系统也就是不能完全移植,因此解决方法是之后将Linux内核版本降低为18.04. 那就先讲下所做的工作吧。

1.网络拓扑

1.1 Vmware

通过网线将开发板连接PC以太网网卡。网络为

PC->Ubuntu虚拟机上网: WIFI网卡->VMnet8
Linxu开发板->Ubuntu虚拟机: 以太网网卡->VMnet0

设备IP地址
WIndows主机192.168.10.200
Ubuntu虚拟机192.168.10.100
Linux开发板192.168.10.50

注意VMware软件中此时已经设置的是PC校园网随机分配的IP地址.
有什么描述的?

并且向Ubuntu虚拟机添加网络适配器2,
在这里插入图片描述

1.2Ubuntu

在Ubuntu虚拟机中配置网络.

1.NAT网络适配器VMnet8可以自动获取IP地址,
2.桥接模式网络适配器VMnet0为自行分配的Ubuntu虚拟机IP地址.

[!warning]- 有线-IPv4-路由设置勾选"仅对该网络上的资源使用此连接"选项以保证Ubuntu虚拟机的正常上网, 并重启.

在这里插入图片描述

1.3Windows网络

在window主机配置网卡

1.配置与开发板连接的以太网网卡IPv4网络,包括IP地址, 子网掩码和默认网关.
注意IP地址与默认网关应在同一网段.
在这里插入图片描述

1.4开发板配置

开发板设置网络环境变量

1.Uboot配置版本
在这里插入图片描述

2.Linux配置版本
在这里插入图片描述

其中Uboot每次上电都需要修改环境变量, 希望是验证有误
互连验证方法是用Uboot去ping Ubuntu虚拟机的IP地址,成功显示为xxxx is alive。
Linux有待测试。

可以发现, 需要确保在同一网段的设备是:

  • Ubuntu ens33(桥接模式网络适配器)的IP地址,
  • PC的以太网网卡的IP地址
  • 开发板的IP地址
  • 默认网关

[!warning] 上述地址的设置涉及多个设备, 修改还需注意。

2.网络连接

这时让开发板用网线连接PC,当进入Uboot命令行模式后,以太网网卡才能识别开发板网关FEC1,此时就可以使用NFS或者TFTP服务进行上下载文件和挂载根文件系统了。简单来说,可以使用TFTP进行给予UDP的文件下载,NFS进行TCP的根文件系统挂载。

  • 配置TFTP服务下载文件

1.安装TFTP
2.然后创建有读写权限的共享文件夹
3.然后写tftp的网络配置文件/etc/xinetd.d/tftp/etc/default/tftpd-hpa
4.重新启动tftp服务
然后就可以使用tftp指令上下载文件了。

  • 配置Ubuntu18.04环境及以下的NFS服务挂载根文件系统

1.安装NFS
2.创建有读写权限的共享文件夹
3.配置NFS共享权限文件/etc/exports和IP访问权限文件/etc/hosts
4.sudo cat /proc/fs/nfsd/versions检查支持NFS版本,没有直接重装低版本Linux!!!😠
5.sudo vim /etc/default/nfs-kernel-server修改nfs支持版本
6.sudo vim /etc/nfs.confUbuntu18.04版本后修改nfs支持版本;
7.重启nfs服务并sudo cat /proc/fs/nfsd/versions检查版本, 版本兼容则可以去测试挂载根文件系统了.
8.如果不行, 建议关闭Ubuntu防火墙或换低版本Ubuntu以兼容硬件, 注意正点原子的imx6ull板子的Uboot当前仅支持nfsv2, Ubuntu22.04压根没有😢

参考资料:
嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)uboot nfs_门牙会稍息的博客-CSDN博客
nfs下载镜像报错File lookup fail、“TTTTTTTTTTTTTTT”Kashine的博客-CSDN博客
Ubuntu22.04虚拟机通过NFS连接开发板_爱折腾的捣蛋鬼的博客-CSDN博客
解决Ubuntu 22.04 LTS作为nfs server时根文件系统挂载失败的问题_ubantu20.4挂载nfs超时_cosmosZ000的博客-CSDN博客
用NFS挂载根文件系统详解(带nfs版本不兼容问题的解决方法)正在起飞的蜗牛的博客-CSDN博客

  • 33
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值