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