initrd.img 的作用, 就是給核心提供啟動所需要的驅動.
為了方便, 把自己硬體的驅動都載入核心中.
參考自:
Creating an initrd image on Debian GNU/Linux
mkinitrd -k -o /boot/initrd.img-[version] -r /dev/hda5 [version]
/dev/hda5 是 / 的位置.
參考自: 編譯核心
編譯核心(kernel)
make bzImage
make modules
make modules_install
make install
initrd.img 的作用, 就是給核心提供啟動所需要的驅動.
為了方便, 把自己硬體的驅動都載入核心中.
誤解了手冊上的意思, 自己手工改了 mkinitrd.conf 的內容,
導致 mkinitrd 不能產生 initrd.img,
其實要產生 initrd.img 只要 mkinitrd -o /boot/initrd.img.[version] [version]
就可以了,[version]代表了/lib/modules/[version] 存在的你安裝的核心的版本號碼.
根本不用手動修改 mkinitrd.conf,除非你想使用ramfs 🙂
簡單做法:
ln -s /usr/src/linux-2.6.10 /lib/modules/2.6.10
mkinitrd -o /boot/initrd.img-2.6.10 2.6.10
這樣子就可子產生出 initrd.img 了 🙂
Mount initrd.img
mount -t cramfs -o loop /boot/initrd.img-2.6.10-1-k7 /mnt/tmp
cat /mnt/tmp/modules
看看有沒有哪些 moudles 沒有載入. 趕快加到 /etc/mkinitrd/modules
再重新 gen 一次 initrd.img 🙂