linux支持的内存根文件系统
linux支持两种内存根文件系统:ramdisk和initramfs。
----------------------------------------------------------------------------------------------------
Document/early-userspace/README
128 The kernel has currently 3 ways to mount the root filesystem:
129
130 a) all required device and filesystem drivers compiled into the kernel, no
131 initrd. init/main.c:init() will call prepare_namespace() to mount the
132 final root filesystem, based on the root= option and optional init= to run
133 some other init binary than listed at the end of init/main.c:init().
134
135 b) some device and filesystem drivers built as modules and stored in an
136 initrd. The initrd must contain a binary '/linuxrc' which is supposed to
137 load these driver modules. It is also possible to mount the final root
138 filesystem via linuxrc and use the pivot_root syscall. The initrd is
139 mounted and executed via prepare_namespace().
140
141 c) using initramfs. The call to prepare_namespace() must be skipped.
142 This means that a binary must do all the work. Said binary can be stored
143 into initramfs either via modifying usr/gen_init_cpio.c or via the new
144 initrd format, an cpio archive. It must be called "/init". This binary
145 is responsible to do all the things prepare_namespace() would do.
146
147 To maintain backwards compatibility, the /init binary will only run if it
148 comes via an initramfs cpio archive. If this is not the case,
149 init/main.c:init() will run prepare_namespace() to mount the final root
150 and exec one of the predefined init binaries.
------------------------------------------------------------------------------------------------
initramfs
initramfs可以直接嵌入linux内核中,同内核一起编译。它可以为压缩文件,也可为普通非压缩文件系统。
其位置通过CONFIG_INITRAMFS_SOURCE指定。
注:若指定了CONFIG_INITRAMFS_SOURCE,则系统不会再响应ramdisk,jffs2等根文件系统,
不响应CONFIG_CMDLINE,即使INITRAMFS_SOURCE指定的目录为空或非正确的文件系统。
initramfs文件系统启动时,会在根文件系统中执行第一个init程序,对uboot中穿过来的
init=/linuxrc不予理睬。
注:不管linuxrc,还是init,都是符号链接,指向/bin/busybox.
linux支持的内存根文件系统的更多相关文章
- 【Linux】程序内获取文件系统挂载信息
Linux shell可通过查看/etc/mtab或者/proc/mounts文件来获取当前文件系统挂载信息,示例: 程序内读取/etc/mtab或者/proc/mounts,解析字符串较为繁琐,可以 ...
- 文件系统 - Linux 支持的文件系统类型
NAME 文件系统 - Linux 支持的文件系统类型:minix, ext, ext2, xia, msdos, umsdos, vfat, proc, nfs, iso9660, hpfs, sy ...
- LINUX支持哪些文件系统
我们在Linux中常用的文件系统主要有ext3.ext2及reiserfs :Windows和Dos常用的文件系统是fat系列(包括fat16及fat32等)和ntfs 文件系统:光盘文件系统是ISO ...
- dumpe2fs Linux支持的文件系统
dumpe2fs (-bh)装置文件名 选项与参数: -b : 列出保留为坏轨的部分 -h : 仅列出superblock的数据,不会列出其他的区段内容 查看Linux支持的文件系统哪些支持: ls ...
- linux概念之分区与文件系统
分区类型 [root@-shiyan dev]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly re ...
- Linux环境下使用JFS文件系统
Linux环境下使用JFS文件系统 JFS是IBM公司为linux系统开发的一个日志文件系统.从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统. JFS提 ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- linux 内核移植和根文件系统的制作
1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1 Linux版本 Linux内核的版本号 ...
- Linux学习笔记之 Btrfs文件系统简介及使用
Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...
随机推荐
- 使用bootstrap标签页
关键字:使用标签页,静态调用html页面(使用iframe内联框架) 完整代码如下: <!DOCTYPE html> <html lang="en"> &l ...
- 开发完 iOS 应用,接下去你该做的事
iOS专项总结 一个应用经过多次迭代后告一段落,接下去我们在技术上还可以做些什么呢?答案是提高代码的整体质量.关于这方面,除了我们常喊的 重构,测试也非常重要. 博主近期给我们的 iOS客户端代码来了 ...
- Android中asset文件夹和raw文件夹区别(转载)
原文地址:http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html *res/raw和assets的相同点: 1.两者目录下的文 ...
- 转 如何使用Windows Media Load Simulator进行Windows Media服务器性能测试和监控
Windows Media Load Simulator(WMLS)有两个主要的用途:作为极值或者压力测试工具和在线监视器. 1 极值和压力压力测试:你能够在达到期望的极值压力条件下测试离线的 ...
- malloc/free 与 new/delete 比较
相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同. malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符.对于非内部数据类的对象而言,光 ...
- [转]关于几本模拟IC设计书
1.P.R.Gray的书 这本书被业界誉为模拟IC的Bible,盛名之下,必无虚士.现在已经出到第四版,作者无一例外是业界大牛,该书论述严谨,思路清晰,对电路分析透彻,定义严格明确,无愧Bible之名 ...
- html input select等控件宽度对不齐?请使用box-sizing。
今天终于明白为什么表单元素的宽度经常对不齐了,原来是计算的问题. 为元素设置:box-sizing: border-box;,则表明width的宽度为内容本身宽度+padding+border(高度一 ...
- Apache2.2配置小结.
lamp 1.编译安装 2,日志轮循 3,优化 4,排错 4,1 vhost :NameServer 4,2 403:虚拟主机,给目录在主配置文件里添加配置 4.3 首页文件 初始化安装完成后,如果不 ...
- 按“块”的方式写dom以及代码注释
前言 首先这个文档中主要记述了自己在编写html代码时如何构建良好的dom结构的一些所思所想,在这一部分主要说明按“块”构建dom结构的思路.同时在这篇文档中也记述了自己对代码注释的理解,在这一部分主 ...
- JIT IR,C2
A Simple Graph-Based Intermediate Representation http://www.oracle.com/technetwork/java/javase/tech/ ...