|
发表于 2010-8-2 08:03:11
|
显示全部楼层
现在的kernel都是模块化编译的,而启动时必须的模块,比如ide控制器,sata等的驱动要先于根分区加载,这就产生一个问题:没驱动我就认不到硬盘,认不到硬盘我也读不出硬盘上的驱动。
解决这个问题有两个方法:
1,我把启动必要的驱动全编译进内核,那启动时就不用读硬盘上的驱动。
2,把必要的驱动放initrd,initrd由grub装载,kernel从initrd读取启动用的驱动。
所以,自己编译内核时initrd不是必须的,只要内核包含了必要驱动,不用initrd也能启动,所以传统的make没理由生成initrd的。 |
|