如何使用Initramfs文件系统

 我来答
a4...s@163.com
2017-07-18 · TA获得超过315个赞
知道小有建树答主
回答量:353
采纳率:50%
帮助的人:222万
展开全部
在2.6kernel启动时,它把rootfs作为它的第一个文件系统挂载(注意:这里的rootfs是真名!!!不是root filesystem的缩写)。rootfs是一个特殊的tmpfs,这个不能被删除或者是unmounted。很多使用2.6内核的系统通常都是挂载rootfs后什么都不做,然后启动另一个文件系统作为root filesystem。但是,这个不能掩盖rootfs存在的事实,你可以“cat /proc/mounts” 来查看,第一个挂载的肯定是rootfs。
rootfs被挂载后,kernel立马就解压了那个用gzip压缩的CPIO归档文件到rootfs。每个2.6的内核都会执行这一步,但是默认那个压缩档是空的,所以也就没有往rootfs内添加任何东西。接着kernel会尝试在rootfs去找寻/init,一旦找到init并执行,kernel也就完成了启动工作,然后便是刚刚执行的init程序接管了接下来的工作。如果kernel没法调用"/init"程序,可能就会回过头去,按照便准的做法去解析参数“root=”,试图找到另一个filesystem然后挂载它。
这里的使用initramfs是指,提供一个/init程序给rootfs使用,我们可以通过两种途径实现:使用编译进内核的cpio.gz档案,或者是一个独立的cpio.gz档案。以前的initrd就是编译一个独立的档案,很多使用initramfs的方式也是给它提供一个独立的档案。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式