1、從kernel.org上下了2.6.18的sourcecode,編譯安裝后使用新的內核啟動,看到下面讓人討厭的錯誤:
VFS:Cannot open root device "sda" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)
這樣的錯誤到也不是第一次親密接觸了,比如很久以前使用dd將系統copy到另一塊硬盤上,并使用新的硬盤啟動時也遇到過這樣的錯誤,那是因為沒有將硬盤接到與原來硬盤對應的IDE接口上,不過這絕對不是讓它追隨我在這里出現的原因,當然久經風浪臉皮已經跟brass一樣厚的我是覺得不會在這里倒下的,于是沒有多想(慚愧),隨即使用大家都最常使用的重啟大法,寄望于它剛才是一時的疏忽。但是在幾十秒之后,它又赧然出現在我的眼前,無它,只好google了。
2、從google的結果來看,同道(一同著道)中人還真不少,五花八門的過程揭露了大致無二的解決方法。主要是內核的配置選項了,并且主要集中在
Device Drivers——>SCSI device support——>SCSI low-level drivers——>BusLogic SCSI support
主要是因為使用scsi時,vmware需要它,還有文件系統,我用的是ext3,因為看到有人說沒有將它們直接編譯進內核導致啟動仍然不成功,給自己個懶的理由,也就不多嘗試了,直接將它們built-in了,然后執行
make-kpkg –revision=1.0 kernel-image
編譯,且使用dpkg安裝后重啟,讓人沮喪的是,前面那幾行可愛的錯誤又出現了。
3、再回頭檢查內核的配置選項,覺得相關的都已經選上了,按理說不應該會再找不到root文件系統了啊,要不試試initrd?雖說已經將上面的幾個模塊編進了內核,是不是還需要創建initrd那?權且試試吧,于是重新編譯內核
make-kpkg –revision=1.0 kernel-image –initrd
再安裝重啟,居然甩開了那個粘人的panic,不過仍然還有點云里霧里的,呵呵,linux上的這些事兒好像多是這樣子,抽空深入研究下initrd去。


