1 / 5
文档名称:

解析linux根文件系统的挂载过程.docx

格式:docx   大小:17KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

解析linux根文件系统的挂载过程.docx

上传人:文档百货 2022/5/20 文件大小:17 KB

下载得到文件列表

解析linux根文件系统的挂载过程.docx

相关文档

文档介绍

文档介绍:解析linux根文件系统的挂载过程
一:前言
前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,

解析linux根文件系统的挂载过程
一:前言
前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。
二:roo
一:前言
前段时间在编译kernel的时候发现rootfs挂载不上。相同的root选项设置旧版的image却可以。为了彻底解决这个问题。研究了一下rootfs的挂载过程。特总结如下,希望能给这部份知识点比较迷茫的朋友一点帮助。
二:rootfs的种类
总的来说,rootfs分为两种:。以保持内核的精简。虚拟rootfs也是各linux发行厂商普遍采用的一种方式。可以将一部份的初始化工作放在虚拟的rootfs里完成。然后切换到真实的文件系统. 在虚拟rootfs的发展过程中。又有以下几个版本:
initramfs:


Initramfs是在kernel ,实际上它的含义就是:在内核镜像中附加一个cpio 包,这个cpio包中包含了一个小型的文件系统,当内核启动时,内核将这个cpio包解开,并且将其中包含的文件系统释放到rootfs中,内核中的一部分初始化代码会放到这个文件系统中,作为用户层进程来执行。这样带来的明显的好处是精简了内核的初始化代码,而且使得内核的初始化过程更容易定制。这种这种方式的rootfs是包含在kernel image之中的. cpio-initrd: cpio格式的rootfs
image-initrd:传统格式的rootfs
关于这两种虚拟文件系统的制作请自行参阅其它资料
三:rootfs文件系统的挂载过程
这里说的rootfs不同于上面分析的rootfs。这里指的是系统初始化时的根结点。即/结点。它是其于内存的rootfs文件系统。这部份之前在和文件系统中已经分析过。为了知识的连贯性这里再重复一次。
Start_kernel()àmnt_init():
void __init mnt_init(void)
{
……
……
init_rootfs();
init_mount_tree();