嵌入式根文件系统的一些理解

本文介绍了文件系统的基本概念,重点解析了根文件系统的作用及其在Linux启动过程中的重要性,并通过Busybox实例展示了如何构建定制化的根文件系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是文件系统?

文件系统是对一个存储设备上的数据和元数据进行组织的机构,利于用户和操作系统的交互。

什么是根文件系统?

根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,特殊之处在于,它是内核启动时所mount(挂载)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后,从中把一些初始化脚本和服务加载到内存中去运行。

根文件系统之所以在前面加一个“根”,说明它是加载其他文件系统的“根”,既然是根,没有这个根,其他文件就无法加载。它包含系统引导和其他文件系统得以mount所必要的文件。根文件系统包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的文件,在linux挂载分区时linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包含了许多应用程序bin目录等,任何包括这些Linux系统启动所必须的文件都可成为根文件系统。

Linux启动时,第一个必须挂载的是根文件系统。

linux中将一个文件系统与存储设备关联起来的过程称为挂载mount。使用mount命令将一个文件系统附着到当前文件系统层次结构中(根)。例如:mount  /dev/cdrom   /tmp

将光驱挂载到/tmp目录下。根文件系统被挂载到根目录“/”上后,在根目录下就有根文件系统的各个目录:bin  sbin  dev etc  lib  home root  usr  var proc  mnt  tmp

利用Busybox制定根文件系统

Busybox是一些工具的集合,文件系统的大小与Busybox所支持的命令多少有关,所支持的命令越多,文件系统就越大;所以裁剪主要是裁剪busybox所支持的命令。

配置busybox

l  进入busybox目录:makemenuconfig    修改其中配准

l  编译安装busyboxmakeARCH=arm CROSS_COMPILE=arm-linux-

                 makeinstall

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值