rootfs文件系统的制作(一)
根文件系统(root filesystem)是存放运行、维护系统所必须的各种工具软件、库文件、脚本、配置文件和其他特殊文件的地方,也可以安装各种软件包。
一般根文件系统主要目录结构:
创建根文件系统步骤
1、采用Busybox创建基本命令
2、创建基本的目录 /lib /etc /var /tmp /dev /sys /proc等
3、添加glibc基本动态库
4、创建基本的设备节点
5、添加启动配置和脚本程序 /etc/inittab /etc/fstab /etc/init.d/rcS
6、测试根文件系统
7、制作根文件系统镜像
BusyBox init 执行的几个阶段:
1. 设置 init 信号句柄
2. 初始化 console(s)
3. 解析 inittab 文件, /etc/inittab
如果 /etc/inittab 不存在, BusyBox 使用缺省值:
详细内容参考 BusyBox 相关文档
4. 运行系统初始化脚本 (BusyBox use /etc/init.d/rcS作为缺省)
在这里你可以做的工作:
重新以 rw 模式挂载根文件系统
挂载附加的文件系统
初始化并启动网络接口
启动系统守护进程
5. 运行 inittab中所有action 为 wait 的命令
6. 运行 inittab 中所有action 为 once的命令
7. 循环运行:
1)运行 inittab中所有action 为 respawn 的命令
2)运行 inittab中所有action 为 askfirst的命令
嵌入式系统中常用文件系统包括有:cramfs、 squashfs、JFFS2、yaffs2、UBIFS、ext4。
它们的特点如下:
1、cramfs和 JFFS2具有好的空间特性,生成的镜像小,占用的Flash空间小,很适合
小型嵌入式产品应用;
2、cramfs和 squashfs为只读压缩文件系统,squashfs相比于 cramfs,能提供更大的压
缩比,支持更大的镜像和文件;
3、JFFS2为可读写的压缩文件系统,其挂载时间与Flash容量有关,越大的 Flash,
挂载时间越长,而且每次加载都需要将Flash 上的所有节点(JFFS2的存储单位)加
载到内存,因此内存消耗较大。由于JFFS2 是按字节访问 Flash,因此,只能用于
SPI NOR Flash,不能用于NAND Flash;
4、yaffs2文件系统是 NAND Flash 上使用较为成熟的文件系统,并且只能用于NAND
Flash,相比于JFFS2,其内存消耗较小,但挂载时间仍然与Flash容量相关,越大
的Flash,挂载时间越长;
5、UBIFS一种用在大容量 Flash 上的可读写文件系统,对 Flash 的容量依赖较小,相
比于yaffs2和 JFFS2,其挂载时间和内存消耗都小很多,可以很好的适应GB以上
大小的大容量Flash;
6、ext4是 Linux系统下的日志文件系统,适用于eMMC这类块设备存储器件。
rootfs文件系统的制作(一)相关推荐
- rootfs文件系统的制作(二)
一.根文件系统制作 1. 源码下载 我们选择的版本是busybox-1.22.1.tar.bz2下载路径为: http://busybox.net/downloads/ 2. 解压源码 $ tar ...
- linux rootfs 编译,rootfs文件系统制作
rootfs文件系统制作笔记 环境:XC2440 linux2.32.2红帽5 根文件系统有一系列的目录组成,其中包括应用程序.C库.及相关的配置文件. 制作根文件系统的步骤如下,下面步骤均在虚拟机终 ...
- 嵌入式文件系统镜像制作及烧写
将rootfs和userdata两个目录分别制作为镜像文件进行烧写: 镜像文件对应文件系统类型的选择,采用: rootfs制作为rootfs.img镜像,采用的文件系统类型为cramfs,只读,用于保 ...
- Linux根文件系统的制作
1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统,首先您要做的是挂载(moun ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- (三)linux之根文件系统的制作
(一)准备工作 Ubuntu 16.04系统 linux-3.5内核:linux-3.5-20190929 交叉编译工具arm-linux-gcc-4.5.1-v6-vfp-20120301.rar ...
- linux 文件系统字体小,基于嵌入式Linux平台的最小文件系统的制作
工作平台:FL2440 交叉编译环境:arm-linux-gcc 3.4.1 busybox版本:1.9.1 1) 制作文件系统总目录: mkdir my_rootfs 2) 编译&安装bus ...
- 细说嵌入式Linux文件系统的制作方法
说到Linux文件系统对于刚刚接触Linux的初学者来说还是有些生疏,其实理解了他的定义并且掌握他的使用方法并不是什么难事.在下文中大家就会详细的了解到什么是Linux文件系统,并且可以学会嵌入式Li ...
- petalinux 的rootfs文件系统放在SD 分区上
在前面2文即: petalinux 2018.2 在ubuntu 16 下的工程制作并启动实验 以及 petalinux 2018.2 在QSPI启动中,介绍了制作petalinux 启动的过程.但上 ...
最新文章
- jQuery中常用的函数方法总结
- 人眼模板匹配自动跟踪
- 理想边界尺寸怎么算_钻石型淋浴房三边尺寸怎么算?安装步骤有哪些?
- 读取字符串中的数字和小数
- 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
- 路由虚拟端口配置dhcp服务器,交换机和路由器DHCP设置中的端口配置
- 计算机网络实用技术教学资源,计算机网络实用技术第一章课件教学.ppt
- qt程序部署在linux,Qt应用打包发布,部署真正的Qt程序LinuxWindows-Go语言中文社区...
- 织梦手机站搜索结果显示为电脑站的搜索结果模板的解决方法
- 蚂蚁金服java研发实习岗电话一面面试记录
- 色度抽样(4:2:0)到底是什么意思?
- 转载 提高github下载速度的方法【100%有效】可达到2MB/s
- 第九章泛型与集合(甘琳凤)
- 自动建站.实现虚拟二级目录
- Linux系统如何查看服务器带宽及网络使用情况
- 华为无线设备Mesh配置命令
- Arduino UNO+DS1302+74HC595联级+8位数码管时钟+Proteus仿真
- 计算机热点方向、历史、未来
- 素描初习(一)---三棱锥
- 华为三星非洲智能手机大战 低价为王