day10(Linux底层)根文件系统基础知识及制作

目录

根文件系统基础知识及制作

1、概念

2、移植根文件系统的工具 busybox

3、如何获取busybox

4、根文件系统目录介绍

5、使用busybox制作根文件系统

5.1 拷贝busybox-1.31.1.tar.bz2到ubuntu的家目录下

5.2 对根文件系统进行解压缩,并切换到busybox-1.31.1目录下

5.3 通过make help 获取编译的帮助信息(不用一一执行)

5.4 修改Makefile,配置为交叉编译工具链

5.5 执行sudo make menuconfig命令,对busybox进行配置

5.6 对源码进行编译

5.7 安装根文件系统

5.8 测试根文件系统,对根文件系统进行部署

5.9 重启开发板,测试rootfs是否可以正常使用

6、问题解决

1》挂载成功,但是打印一下错误信息:

2》继续重启开发板,进行测试

3》在根文件系统的etc目录下创建文件fstab inittab

4》创建其他文件

5》添加用户名

6》移植共享库到根文件系统中


根文件系统基础知识及制作

1、概念

根文件系统:系统运行所必须依赖的一些文件(比如脚本、库、配置文件...),本质就是目录和文件。

根文件系统镜像:将根文件系统按照某种格式进行打包压缩后生成的单个文件

rootfs-----> ramdisk.img

文件系统:一种管理和访问磁盘的软件机制,不同文件系统管理和访问磁盘的机制不同

2、移植根文件系统的工具 busybox

BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、findmount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Linux 系统的自带的shell

1.短小精悍

2.版本更新较快,版本之间差异不大

3、如何获取busybox

https://busybox.net/downloads/

4、根文件系统目录介绍

注释:各文件功能解析

bin: 命令文件(通过busybox工具制作)

dev: 设备文件(被操作系统识别的设备才有对应的文件,即设备运行时)

etc: 配置文件(配置内核相关的一些信息)

lib: 库文件、比如C的标准库(从交叉编译工具链中复制的)

linuxrc:根文件系统被挂载后运行的第一个程序(通过busybox工具制作)

mnt: 共享目录(非必要)比如挂载SD卡等时将SD卡挂载在该目录

proc: 与进程相关的文件(当有进程运行时才会有文件)

root: 用户权限(板子本身就是以root用户运行)sbin: 超级用户命令、一般用户不可用(板子本身是超级用户 通过busybox工具制作)

sys: 系统文件(系统运行时,系统加载后才会有文件)

tmp: 临时文件(比如插入新的设备时会产生临时文件)

usr: 用户文件(通过busybox工具制作)

var: 存放下载的文件和软件 (可有可无)

mkdir lib mnt proc root sys tmp var

5、使用busybox制作根文件系统

5.1 拷贝busybox-1.31.1.tar.bz2到ubuntu的家目录下

5.2 对根文件系统进行解压缩,并切换到busybox-1.31.1目录下

tar -vxf busybox-1.31.1.tar.bz2

cd busybox-1.31.1

5.3 通过make help 获取编译的帮助信息(不用一一执行)

清除中间文件:(不用执行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值