|
|
发表于 2007-7-27 06:21:36
|
显示全部楼层
就是通知系统去调用制作 initrd 的工具,比如 mkinitramfs、mkinitrd、yaird 之类去制作 initrd
我在置顶帖曾经解释过,Debian 之所以编译都建议添加 --initrd 参数,主要原因是 Debian 的内核维护者都有洁癖,他们希望内核是"干净"的,於是所有的驱动(包括 ext2 或其他文件系统的支援)被编译成模块,而非编入内核,结果得出来的内核如无 initrd 协助引导的话是无法启动的!
这正是一众兄弟们初次在编译内核时出问题的因,因为很多时候他们不知道如何制作 initrd 而无法引导。更可悲的是 Debian 制作 initrd 的脚本不一,旧版(尤其是 Sarge 年代) initrd-tools 提供的 mkinitrd 脚本是依赖 devfs 的,而 devfs 在 2.6.13 後的内核已被废止,如不知道更新又会出问题,有关遇到这方面的问题帖子多不胜数!
initrd 在 Linux 的世界并非必要的,只要内核编入必要的支持便能启动,早期使用移动硬盘来启动时曾经需要借助它来提供延时,但 2.6.11 内核以後提供了 rootdelay 参数来延时,initrd 从此变成废物,我个人认为无需多此一举,省却麻烦。
Clear? |
|