星期六, 11月 21, 2009

Build up a kernel in Ubuntu

花了不少時間總算裝好kernel,

簡述一下步驟。

首先先抓個kernel

wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.4.tar.bz2


接著解壓縮在某個資料夾

tar -xvf linux-2.6.31.4.tar.bz2


在那資料夾


% sudo make menuconfig
% sudo make clean
% sudo make
% sudo make install
% sudo make modules
% sudo make modules_install
% sudo update-initramfs -c -k 2.6.31.4
% sudo update-initramfs -c -k 2.6.31.4-custom
% sudo vim /boot/grub/menu.lst

make menuconfig:在此設定有關kernel的設定,以及各種模組
make clean:清除之前make的檔案
make:編譯kernel
make install:把kernel安裝到系統中 /boot目錄之下
到此為止,可能有些機器可行,有些不行,
會在開機時會遇到kernel panic - not syncing: VFS : unable to mount root fs on unknown block(0,0)
則表示kernel沒有此driver去把disk mount,
Linux下有個特別的方法--initramfs,
讓grub先把此image load好,此image中會有一些必須的driver,就可以解決了
所以在menu.list中再用此設定

title Ubuntu 9.10, kernel 2.6.31.4-custom (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.31.4-custom root=UUID=b3d28e09-397a-4a8c-8c76-04b1845ab6b8 ro single
initrd /boot/initrd.img-2.6.31.4-custom

下次開機時就會有此選單了。

沒有留言: