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构建的根文件系统,发现还是缺东西。 下一期会继续完善

相关推荐
2401_892070982 天前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
雪可问春风2 天前
docker环境部署
运维·docker·容器
lwx9148522 天前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜2 天前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi72 天前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白2 天前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
海的透彻2 天前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
黄昏晓x2 天前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪2 天前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神2 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习