這次是在Ubuntu 7.04的環境Compile 2.6.22.9的Kernel。在Ubuntu的環境下Compile Linux kernel是件輕鬆的事,要做的事很少喔。


在Compile kernel前要先確定的就是有個gcc可以用啦,如果不確定就用apt-get build-dep gcc再安裝一次gcc吧,安裝完隨便寫個Hello Wrold測試一下就行啦。


先確認一下/bin/sh是link到/bin/bash,Ubuntu預設是link到/bin/dash,還是用bash比較習慣。


接下來要安裝Cimpile kernel時需要用的一些tool,我們需要kernel-package、libncurses5-dev、fakeroot、wget、bzip2。


抓一版Kernel來用,連上http://www.kernel.org找到最新的Kernel版本是2.6.22.9,所以就抓這版來用吧。在/usr/src目錄下用wget抓Linux kernel soruce code。


解壓縮Linux kernel,Create一個linux的soft link到linux-2.6.22.9。並切換到/usr/src/linux目錄。


先把舊的.config copy來用吧,至少確定是可以work的Kernel設定,而且可以以舊的設定為基礎再去修改自己需要的Kernel功能,不用一切從頭來。
執行cp /boot/config-`uname -r' ./.config就會把目前用的Kernel的.config copy到現在目錄下囉。


make menuconfig。


這時就可以選"Load an Alternate Configuration File"啦。


把剛剛的.config load進來吧,之後再去修改自己想要的Kernel設定。


設定好Kernel就可以存檔離開啦。


執行make-kpkg clean。


執行fakeroot make-kpkg --initrd kernel_image kernel_headers。接下來就是漫長的等待啦,Build kernel是要花不少時間的,可以泡茶啦。


Build完Kernel後切換到/usr/src目錄,會看到多了"linux-image-2.6.22.9_2.6.22.9-10.00.Custom_i386.deb"和"linux-headers-2.6.22.9_2.6.22.9-10.00.Custom_i386.deb"這兩個檔案。
執行dpkg -i linux-image-2.6.22.9_2.6.22.9-10.00.Custom_i386.deb。


執行dpkg -i linux-headers-2.6.22.9_2.6.22.9-10.00.Custom_i386.deb。


檢查一下開機選單/boot/grub/menu.lst。


太棒啦,開機選單也是自動建好的,什麼都不用改囉。可以重開機測試一下了。


開機後按[Esc]進入開機選單,果然看到了2.6.22.9版的Kernel呢。


開完機再用uname -r確認一下。太棒啦,現在run的是2.6.22.9的Kernel喔。


    全站熱搜

    nix 發表在 痞客邦 留言(6) 人氣()