CentOS 5.5 的 kernel 版本是 2.6.18, 新版本是 2.6.35.7, 好久沒編譯核心了, 來大展身手一番 (事實證明還差得遠)
編譯好後重開機, 結果不意外 panic, 成堆錯誤訊息, 第一個就搞不懂了
insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists
這甚麼(尛)? 谷歌一下還真的有解, 方法是解開 initrd-2.6.35.7.img 這個檔
zcat initrd-2.6.35.7.img | cpio -i
然後修改 init
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
上面兩行會重複(搞甚麼?竟然會重複?), 把重複的刪掉, 再把檔案壓回去: 先把所有解出來的東西包成一個檔案
find . | cpio -c -o > ../initrd
再壓縮這個檔案
gzip -9 < initrd > initrd-2.6.35.7.img
重開機, 真的沒有原先的錯誤了, 但還有下一個 (尛)?
could not find filesystem '/dev/root'
有人說是沒抓到硬碟, 有人說是 label 有問題, 試過都不行, 最後解法是修改 .config的一個參數
CONFIG_SYSFS_DEPRECATED_V2=Y
就可以了, 看來這個參數是對舊的檔案系統的支援, 原本 CentOS 用的是檔案系統要淘汰的
沒有留言:
張貼留言