好文档 - 专业文书写作范文服务资料分享网站

linux ,Android基础知识总结

天下 分享 时间: 加入收藏 我要投稿 点赞

initramfs与initrd的区别

1.initrd是一个单独的文件;initramfs和Linux内核链接在一起(/usr目录下的程序负责生成initramfs文档)。

2.initrd是一个压缩的文件系统映像(可以是ext2等,需要内核的驱动);initramfs是类似tar的cpio压缩文档。

内核中的cpio解压缩代码很小,而且init数据在boot后可以丢弃。

3.initrd运行的程序(initd,不是init)进行部分setup后返回内核;initramfs执行的init程序不返回内核

(如果/init需要向内核传递控制权,可以再次安装在/目录下一个新的root设备并且启动一个新的init程序)。

4.切换到另一个root设备时,initrd执行pivot_root后,卸载ramdisk;initramfs是rootfs,既不能

pivot_root,也不能卸载。initramfs会删掉rootfs的所有内容(find-xdev/-execrm'{}'';'),再次安装root到rootfs(cd/newmount;mount--move./;chroot.),把stdin/sdout/stderr挂在新的/dev/console上,重新执行init。由于这是一个相当困难的实现过程(包括在使用一个命令之前把它删除),所以

klibc工具包引入一个帮助程序/utils/run_init.c来执行上述过程。其他大部分工具包(包括busybox)把这个命令称为\。

linux ,Android基础知识总结

initramfs与initrd的区别1.initrd是一个单独的文件;initramfs和Linux内核链接在一起(/usr目录下的程序负责生成initramfs文档)。2.initrd是一个压缩的文件系统映像(可以是ext2等,需要内核的驱动);initramfs是类似tar的cpio压缩文档。内核中的cpio解压缩代码很小,而且init数据在b
推荐度:
点击下载文档文档为doc格式
9mc3k1m54t1j03v4hzb4
领取福利

微信扫码领取福利

微信扫码分享