嵌入式Linux系统开发笔记(十六)

根文件系统rootfs启动验证测试

接下来我们使用测试一下前面创建好的根文件系统 rootfs,测试方法使用 NFS 挂载。

6.1 检查是否在Ubuntu主机中安装和开启了NFS服务

(特别注意:nfs 配置文件/etc/exports中添加的路径一定要与实际使用的绝对路径保持一致)

拓展:

进行 Linux 驱动开发的时候需要 NFS 启动,因此要先安装并开启 Ubuntu 中的 NFS 服务,使用如下命令安装 NFS 服务:

sudo apt-get install nfs-kernel-server rpcbind

等待安装完成,安装完成以后,我们手动在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹。

创建的 nfs 文件夹供 nfs 服务器使用,以后我们可以在开发板上通过网络文件系统来访问 nfs 文件夹,要先配置 nfs,使用如下命令打开 nfs 配置文件/etc/exports:

sudo vi /etc/exports

打开/etc/exports 以后在后面添加如下所示内容:

/home/sudeki/Workplace/linux/nfs *(rw,sync,no_root_squash)  

"sudeki"为当前用户名,根据实际情况修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2TC2rZ3V-1676132611122)(..\Linux驱动开发记录\Linux驱动开发记录图库\六-2.3.4-3-nfs报错.png)]

重启 NFS 服务,使用命令如下:

sudo /etc/init.d/nfs-kernel-server restart  
6.2 uboot 中设置 bootargs 和 bootcmd 两个环境变量
  • 设置 bootcmd 环境变量
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-atk.dtb; bootz 80800000 - 83000000'

saveenv
  • 设置 bootargs 环境变量

uboot 里面的 bootargs 环境变量会设置“root”的值,所以我们将 root 的值改为 NFS 挂载即可。在 Linux 内核源码里面有相应的文档讲解如何设置,文档为 Documentation/filesystems/nfs/nfsroot.txt,格式如下:

root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] ip=<client-ip>:<server-ip>:<gwip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>

根据上面的格式 bootargs 环境变量的 root 值如下:

root=/dev/nfs nfsroot=192.168.10.102:/home/sudeki/Workplace/linux/nfs/rootfs,proto=tcp rw ip=192.168.10.55:192.168.10.102:192.168.10.1:255.255.255.0::eth0:off

“proto=tcp”表示使用 TCP 协议,“rw”表示 nfs 挂载的根文件系统为可读可写。 启动开发板,进入 uboot 命令行模式,然后重新设置 bootargs 环境变量,命令如下:

# 设置 bootargs
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.10.102:/home/sudeki/Workplace/linux/nfs/rootfs,proto=tcp rw ip=192.168.10.55:192.168.10.102:192.168.10.1:255.255.255.0::eth0:off' 

# 保存环境变量
saveenv

设置好以后使用“boot”命令启动 Linux 内核

boot

结果如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1yW6M36v-1676132611123)(..\Linux驱动开发记录\Linux驱动开发记录图库\九-6.2-1-根文件系统启动验证.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值