2009年1月5日 星期一

[ubuntu] 替換kernel

1. 切換為 root
su -
2. cd /usr/src
3. 下載 kernel source
可以開網頁連到 http://www.kernel.org/pub/linux/kernel 下
或用 wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.6.tar.bz2
4. 解開壓縮檔
tar jxvf linux-2.6.25.6.tar.bz2
5. 建立link
ln -s linux-2.6.25.6 linux
(如果原本已經有一個link : linux, 記得要先刪除 rm -f linux )
6. cd linux
7. 複製現行kernel config 作為新kernel 預設值
cp /boot/config-$(uname -r) ./.config
8. make menuconfig
make
make modules_install
make install



這樣kernel 就編好了, 但是要再做一個initrd, 否則開機會顯示:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block

在Ubuntu底下, 沒有mkinitrd, 但有一個工具mkinitramfs可以達到此功能
語法:mkinitramfs [-d confdir] [-k] [-o outfile] [-r root] [version]
製作前要先在/etc/initramfs-tools/modules 新增要添加的模組
mkinitramfs -o /boot/initrd.img.2.6.25.6 /lib/modules/2.6.25.6

PS: EXT3 可以編成 內建, 這樣就只要做出 initrd 不用另外改 /etc/initramfs-tools/modules檔

最後, 執行 update-grub, 就會做出正確的開機檔 /boot/grub/menu.lst



沒有留言:

熱門文章