Linux根文件系统制作与各种挂载方式的实现

Linux根文件系统的制作


什么是文件系统

计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。
文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种访问数据的界面而已,实际的数据是通过网络协议(如NFS、SMB、9P等)提供的或者内存上,甚至可能根本没有对应的文件(如proc文件系统)。
严格地说,文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。摘自<<维基百科>>
磁盘需要首先分区,然后再在格式化成指定文件系统。Linux操作系统支持的文件系统有ext2,ext3,ext4,nfs,yaffs2等等,这些文件系统都可以在内核源代码中找到其定义和实现。
这里写图片描述

什么是根文件系统

和Windows的C,D,E等盘符相似,Linux操作系统也可以将磁盘,Flash等存储设备划分为若干个区,在不同分区下存放不同类型的文件。比如Windows的C盘中就存放着启动系统所必须的一系列文件,而在Linux系统中,内核映像文件(在嵌入式系统众,内核一般单独存放在一个分区中),内核启动后运行的第一个程序(init),给用户提供操作界面的shell程序,应用程序所依赖的库等。这些必需的基本的文件集合就被称为根文件系统。它们都放在一个分区中,在系统启动后就会首先挂载这个分区,也就是挂载根文件系统。

为什么需要根文件系统

要回答这个问题,我们需要了解Linux操作系统的启动流程。Linux操作系统由三部分组成,分别是Bootloader,Linux kernel,File system.系统上电时首先执行的是Bootloader程序,主要做的任务是对硬件的初始化,并加载linux内核,linux内核启动后,就必须要挂载根文件系统,根文件系统的作用在上个小标题可以看到。没有文件系统的支持,即使linux内核运行起来了,我们也不能对内核进行操作。

如何制作根文件系统


准备阶段:需要用到的安装包有

Linux内核源代码包
根文件系统需要用到的配置文件包
用来移植根文件系统的常用命令的busybox安装包
通过samba服务器将所有要用到的安装包都拷贝到虚拟机中
我所使用的操作系统是红帽企业版6,也就是RHEL 6。

1.创建根文件系统与目录


1.1创建目录
mkdir /home/rootfs
cd /home/rootfs
mkdir bin dev sbin proc sys usr var tmp mnt etc
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值