linux 系统移植(第二十二期)---- 初步测试BusyBox构建的根文件系统---- Ubuntu20.04

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、修改环境变量-为后边测试做准备

二、初步测试进入根文件系统

总结


前言

上一期博客我们构建了根文件系统,这一期我们来初步测试一下。


一、修改环境变量-为后边测试做准备

接下来我们使用测试一下前面创建好的根文件系统 rootfs,测试方法就是使用 NFS 挂载,uboot 里面的 bootargs 环境变量会设置"root"的值,所以我们将 root 的值改为 NFS 挂载即可。格式如下:

<server-ip>:服务器 IP 地址,也就是存放根文件系统主机的 IP 地址,那就是 Ubuntu 的 IP

地址,比如我的 Ubuntu 主机 IP 地址为 192.168.142.217(ens33)。

**<root-dir>****:**根文件系统的存放路径,比如我的就是/home/duan/linux/nfs/rootfs。

<nfs-options>:NFS 的其他可选选项,一般不设置。

**<client-ip>****:**客户端 IP 地址,也就是我们开发板的 IP 地址,Linux 内核启动以后就会使用 此 IP 地址来配置开发板。此地址一定要和 Ubuntu 主机在同一个网段内(前三位要和Ubuntu一样),并且没有被其他的设备使用,在 Ubuntu 中使用 ping 命令 ping 一下就知道要设置的 IP 地址有没有被使用,如果不能ping 通就说明没有被使用,那么就可以设置为开发板的 IP 地址,比如我就可以设置为192.168.142.220。

**<server-ip>****:**服务器 IP 地址,前面已经说了。

**<gw-ip>****:**网关地址,我的就是192.168.142.1(前三位要和Ubuntu一样,第四个随机设)。

<netmask>:子网掩码,我的就是 255.255.255.0。

<hostname>:客户机的名字,一般不设置,此值可以空着。

**<device>****:**设备名,也就是网卡名,一般是 eth0,eth1....,正点原子的 I.MX6U-ALPHA 开

发板的 ENET2 为 eth0,ENET1 为 eth1。如果你的电脑只有一个网卡,那么基本只能是 eth0。

这里我们使用 ENET2,所以网卡名就是 eth0。

**<autoconf>****:**自动配置,一般不使用,所以设置为 off。

**<dns0-ip>****:**DNS0 服务器 IP 地址,不使用。

**<dns1-ip>****:**DNS1 服务器 IP 地址,不使用。
根据上面的格式 bootargs 环境变量的 root 值如下:

复制代码
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.142.217:
/home/duan/linux/nfs/rootfs,proto=tcp rw ip=192.168.142.220:192.168.142.217:192.168.142.1:
255.255.255.0::eth0:off' //设置 bootargs
saveenv //保存环境变量

注意:此时我们这里加了rw,"proto=tcp"表示使用 TCP 协议,"rw"表示 nfs 挂载的根文件系统为可读可写。

二、初步测试进入根文件系统

设置好以后使用" boot "命令启动 Linux 内核,结果如图 38.3.1 所示:

从上图中 可以看出,我们进入了根文件系统,说明我们的根文件系统工作了!如果没有 启动进入根文件系统的话可以重启一次开发板试试。我们可以输入"ls "命令测试一下,结果如下图 所示:

可以看出 ls 命令工作正常!那么是不是说明我们的 rootfs 就制作成功了呢?大家注意,在进入根文件系统的时候会有下面这一行错误提示:

复制代码
can't run '/etc/init.d/rcS': No such file or directory

提示很简单,说是无法运行"/etc/init.d/rcS"这个文件,因为这个文件不存在。如下图所示:

说明还是缺东西,得继续完善。


总结

初步测试了BusyBox构建的根文件系统,发现还是缺东西。 下一期会继续完善

相关推荐
h7ml2 小时前
电商返利系统中佣金计算的幂等性保障与对账补偿机制实现
服务器·前端·php
资料库012 小时前
Bond的模式都有哪些?
服务器·网络
boy快快长大2 小时前
Docker简单服务迁移
运维·docker·容器
CheungChunChiu2 小时前
视频编解码与 GOP 结构详解
linux·视频编解码
小舞O_o2 小时前
CondaError: Run ‘conda init‘ before ‘conda activate‘
linux·python·conda
RisunJan2 小时前
Linux命令-lha(压缩或解压缩lzh格式文件)
linux·运维·服务器
好好研究2 小时前
MobaXterm远程连接云服务器(Centos环境)及配置jdk、Tomcat、MySQL环境
java·服务器·mysql·jdk·tomcat·aliyun服务器
范纹杉想快点毕业2 小时前
嵌入式通信协议深度解析:从SPI/I2C到CAN总线的完整实现指南嵌入式工程师的炼成之路:从校园到实战的跨越
linux·运维·服务器·数据库·算法
0思必得02 小时前
[Web自动化] 数据抓取、解析与存储
运维·前端·爬虫·selenium·自动化·web自动化