什么是文件系统?
文件系统是对一个存储设备上的数据和元数据进行组织的机构,利于用户和操作系统的交互。
什么是根文件系统?
根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,特殊之处在于,它是内核启动时所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 编译安装busybox:makeARCH=arm CROSS_COMPILE=arm-linux-
makeinstall