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

相关推荐
johnny2337 小时前
运维管理面板:AcePanel、OpenOcta、DeepSentry
运维
青梅橘子皮7 小时前
Linux---基本指令
linux·运维·服务器
REDcker8 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng9 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟9 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记9 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday10 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛1392462567310 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无11 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户23678298016812 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux