Linux2.4内核和2.6内核对Initrd处理流程(2)

2008-04-02 10:44:21来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

8. /linuxrc执行完毕,常规根文件系统被挂载

9. 如果常规根文件系统存在/initrd目录,那么/dev/ram0将从/移动到/initrd。否则如果/initrd目录不存在, /dev/ram0将被卸载。

10. 在常规根文件系统上进行正常启动过程 ,执行/sbin/init。

通过上面的流程介绍可知,Linux2.6内核对image-initrd的处理流程同linux2.4内核相比并没有显著的变化, cpio-initrd的处理流程相比于image-initrd的处理流程却有很大的区别,流程非常简单,在后面的源代码分析中,读者更能体会到处理的简捷。

cpio-initrd同image-initrd的区别与优势

没有找到正式的关于cpio-initrd同image-initrd对比的文献,根据笔者的使用体验以及内核代码的分析,总结出如下三方面的区别,这些区别也正是cpio-initrd的优势所在:cpio-initrd的制作方法更加简单。cpio-initrd的制作非常简单,通过两个命令就可以完成整个制作过程。

#假设当前目录位于准备好的initrd文件系统的根目录下:

bash# find . | cpio -c -o > ../initrd.img

bash# gzip ../initrd.img

而传统initrd的制作过程比较繁琐,需要如下六个步骤,#假设当前目录位于准备好的initrd文件系统的根目录下:

bash# dd if=/dev/zero of=../initrd.img bs=512k count=5

bash# mkfs.ext2 -F -m0 ../initrd.img

bash# mount -t ext2 -o loop ../initrd.img /mnt

bash# cp -r * /mnt

bash# umount /mnt

bash# gzip -9 ../initrd.img

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux和Windows双操作系统Grub丢失恢复

下一篇:Linux下查看CPU类型三种方法的区别介绍