Linux 根文件系统

一:什么是文件系统
文件系统作用:管理磁盘上的文件
nfs文件系统: 在不同机器、不同操作系统之间通过网络共享文件的技术
应用: 在嵌入式Linux系统的开发调试阶段,可利用该技术在主机上建立基于nfs的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容
虚拟文件系统(VFS) 为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统——VFS(Virtual File System),为各类文件系统提供统一的操作界面和应用编程接口
VFS只存在于内存中,不存在于任何外存空间
VFS在系统启动时建立,在系统关闭时消亡

二:根文件系统
【1】根文件系统特点:
Linux系统启动后,首先由内核挂载的文件系统称为根文件系统,其中包括系统启动所必需的文件
在根文件系统的最顶层目录中,每个目录都有其具体的目的和用途
根文件系统的类型没有限制,可以是Linux系统所支持的任意稳定可靠的文件系统类型
在Linux下所有磁盘被挂载后才能使用,这个挂载的目录被称为挂载点或安装点,然后通过此目录来访问这个分区上的文件或其它目录

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

【2】linux操作系统目录结构
在这里插入图片描述
在这里插入图片描述
【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.创建根目录结构——符合文件层次结构标准
在这里插入图片描述
2.使用busybox构建/bin、/sbin的命令和init进程linuxrc
配置:make defconfig特殊选项配置:make menuconfig
在这里插入图片描述
3.进入到交叉编译工具中,将相关动态库拷贝到rootfs/lib目录中。
4.完成etc目录下配置文件的编写:
inittab:用来作为 linuxrc 的配置脚本
init.d/rcS: inittab 启动的第一个脚本一般用来挂载系统必需的文件系统、必要的设备连接、设置 IP 地址、启动其他脚本等默认仅有
mount –afstab: 执行 mount –a 时,按照此文件挂载文件系统
profile:登陆完 shell 后自动执行此脚本,一般用来配置用户的登录环境
在这里插入图片描述
5.用户管理相关配置文件编写
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路漫漫其远,吾求索

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值