Linux 根文件系统

简介: 虚拟文件系统(VFS) 为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统——VFS(Virtual File System),为各类文件系统提供统一的操作界面和应用编程接口

一:什么是文件系统

文件系统作用:管理磁盘上的文件


nfs文件系统: 在不同机器、不同操作系统之间通过网络共享文件的技术


应用: 在嵌入式Linux系统的开发调试阶段,可利用该技术在主机上建立基于nfs的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容


虚拟文件系统(VFS) 为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统——VFS(Virtual File System),为各类文件系统提供统一的操作界面和应用编程接口


VFS只存在于内存中,不存在于任何外存空间


VFS在系统启动时建立,在系统关闭时消亡


二:根文件系统

【1】根文件系统特点:

Linux系统启动后,首先由内核挂载的文件系统称为根文件系统,其中包括系统启动所必需的文件


在根文件系统的最顶层目录中,每个目录都有其具体的目的和用途


根文件系统的类型没有限制,可以是Linux系统所支持的任意稳定可靠的文件系统类型


在Linux下所有磁盘被挂载后才能使用,这个挂载的目录被称为挂载点或安装点,然后通过此目录来访问这个分区上的文件或其它目录


  Windows操作系统:分区和目录的关系 --->>> 目录属于分区
  linux操作系统:分区和目录的关系 --->>> 分区属于目录


【2】linux操作系统目录结构


20200310201732744.png


20200310201747858.png


【3】总结


制作根文件系统的过程,其实就是构造以上目录及系统启动所必需文件的过程 构建嵌入式根文件系统的工作,也就从构建这几个文件夹开始


三:根文件系统制作


【1】根文件系统构建介绍


挂载根文件系统时,传递给内核的参数:

bootargs = root=/dev/mmcblk0p8 rw rootfstype=ext4 init=/linuxrc lcd=wy070ml tp=gslx680 各参数含义: root:指定根文件系统在磁盘分区中的位置 init:指定Linux内核启动完毕后调用的第一个用户态程序 console:指定内核启动后首选的控制台设备(非必须)


/etc/inittab决定了接下来将要启动的脚本、shell和应用程序

/etc/inittab配置文件结构

每一行都指定一个子进程,并确定了进程运行方式

用冒号来分隔各字段的属性。


具体格式: : : :

id:表示这个子进程使用的控制台,如果省略,则使用与linuxrc进程一样的控制台

runlevels: 该字段主要用于PC机,对于嵌入式系统暂时没有处理,可以省略

action: 表示linuxrc进程将如何控制这个子进程,具体取值见后面的表格

process: 表示要启动的可执行程序或脚本,如果process字段前面有“-”字符,说明这个应用支持“交互”


【2】构建根文件系统工具——busybox

获取busybox:http://www.busybox.net


1.创建根目录结构——符合文件层次结构标准


20200310205106631.png


2.使用busybox构建/bin、/sbin的命令和init进程linuxrc


配置:make defconfig特殊选项配置:make menuconfig


20200310205151123.png


3.进入到交叉编译工具中,将相关动态库拷贝到rootfs/lib目录中。


4.完成etc目录下配置文件的编写:


inittab:用来作为 linuxrc 的配置脚本


init.d/rcS: inittab 启动的第一个脚本一般用来挂载系统必需的文件系统、必要的设备连接、设置 IP 地址、启动其他脚本等默认仅有


mount –afstab: 执行 mount –a 时,按照此文件挂载文件系统


profile:登陆完 shell 后自动执行此脚本,一般用来配置用户的登录环境


20200310205424742.png


5.用户管理相关配置文件编写


20200310205500686.png

相关文章
|
12天前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
53 8
|
17天前
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
46 7
|
2月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
45 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
54 6
|
3月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。
|
3月前
|
存储 Linux 数据安全/隐私保护
在Linux中,如何创建文件系统的备份?
在Linux中,如何创建文件系统的备份?
|
3月前
|
存储 监控 Linux
|
3月前
|
存储 监控 Linux
|
3月前
|
存储 缓存 Linux
在Linux中,文件系统概念是什么?
在Linux中,文件系统概念是什么?
下一篇
无影云桌面