armlinux挂载网络文件系统

1综合篇点我
2uboot移植点我
3uboot lcd驱动点我
4kernel移植点我
5kernel lcd驱动点我
6摄像头驱动点我
7ubuntu base移植点我
8挂载网络文件系统点我
9qt移植点我
10搭建qt交叉编译点我
11wifi移植点我

本文使用的是win11 + Workstation 16 Pro ubuntu20.04 + I.M6ULL开发板通过网线连接到同一个路由下

1 网络配置

1.1 打开win11网络配置查看以太网属性

查看属性获取win11的ip地址、网关、子网掩码等信息
在这里插入图片描述
在这里插入图片描述

1.2 设置Workstation 16 Pro ubuntu 20.04网络配置

打开Workstation 16 Pro ->编辑 ->虚拟网络编辑器
在这里插入图片描述
选择还原默认配置 -> 将WMneet0配置为桥接模式并桥接至主机的有线网卡
在这里插入图片描述
设置ubuntu 20.04的IP地址
选择设置
在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/dddecb63d2564b41b2dbd4bcb92d3afa.png
选择IPV4将ip地址设置到和路由器同个网段
在这里插入图片描述

1.3 设置I.MX6ULL开发板的ip地址

开机进入uboot,依次输入一下命令
//设置服务器的IP地址(ubuntu20.04)
setenv serverip 192.168.4.105
//设置网关
setenv gatewayip 192.168.4.1
//设置开发板的IP地址
setenv ipaddr 192.168.1.108
//设置子网掩码
setenv netmask 255.255.255.0
//保存设置
saveenv

测试和ubuntu能不能正常通信

ping 192.168.4.105

在这里插入图片描述
出现如图结果为可以正常通信

2 搭建nfs服务

在ubuntu20.04执行下面的命令安装nfs

sudo apt-get install nfs-kernel-server

创建nfs服务器共享目录

mkdir /home/work/imx6ull/rootfs

并在这个文件夹下面创建zImage和ubuntu-base-armhf用来存放zImage、设备树文件和文件系统

mkdir /home/work/imx6ull/rootfs/zImage
mkdir /home/work/imx6ull/rootfs/ubuntu-base-armhf

将前面做好的zImage、设备树和文件系统拷贝到共享目录中

cp /home/work/imx6ull/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/zImage /home/work/imx6ull/rootfs/zImage/
cp /home/work/imx6ull/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/dts/imx6ull-user-emmc.dtb /home/work/imx6ull/rootfs/zImage/
sudo cp /home/work/imx6ull/rootfs/ubuntu-base-16.04.5-base-armhf/* -rf /home/work/imx6ull/rootfs/ubuntu-base-armhf

修改配置文件设置共享目录

sudo gedit /etc/exports

在文件尾添加

/home/work/imx6ull/rootfs/ *(rw, sync, no_subtree_check, no_root_squash)

在这里插入图片描述

sudo gedit /etc/hosts

添加开发板的ip和nfs共享目录
在这里插入图片描述

因为uboot的nfs协议默认的协议V2,所以需要修改nfs服务器的配置兼容nfs V2
打开nfs服务的配置文件

sudo gedit /etc/default/nfs-kernel-server

修改为如下配置

# Number of servers to start up
#RPCNFSDCOUNT=8
RPCNFSDCOUNT="-V 2 8"
# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information, 
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
#RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="-V 2 --manage-gids"
# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=""

# Options for rpc.svcgssd.
#RPCSVCGSSDOPTS=""
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"

在这里插入图片描述
重启nfs服务

sudo service nfs-kernel-server restart

3 挂载文件系统

开发进入uboot修改bootcmd 和 bootargs 参数

setenv bootcmd "nfs 80800000 192.168.4.105:/home/work/imx6ull/rootfs/zImage/zImage; nfs 83000000 192.168.4.105:/home/work/imx6ull/rootfs/zImage/imx6ull-user-emmc.dtb; bootz 80800000 - 83000000"
setenv bootargs "root=/dev/nfs rw nfsroot=192.168.4.105:/home/work/imx6ull/rootfs/ubuntu-base-armhf,proto=tcp, ip=192.168.4.108:192.168.4.105:192.168.4.1:255.255.255.0::eth0:off init=/sbin/init console=ttymxc0,115200"

保存参数并重启开发板

saveenv
reset

重启后开发开始从nfs服务器下载zImage和设备树文件并挂载文件系统
开始下载zImage
在这里插入图片描述
开始下载设备树文件,下载完之后开始启动kernel
在这里插入图片描述
挂载根文件系统成功,登陆root进入系统
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值