第一部分,准備 要使用新的內核首先當然要取得新內核的源碼,內核的官方網站是http://www.kernel.org 在上面可以得到最新的內核。2.6的更新是相當快的,你可以在命令行下使用finger @kernel.org命令來快速得到當前最新的內核列表。在這篇文章中我將以2.6.0為准。 下載了內核源碼之後,我們要使用tar jxvf Linux-2.6.0.tar.bz2來提取源碼,如果你下載的是以tgz結尾的壓縮包就使用zxvf參數來解壓。我強烈建議你不要使用 /usr/src/linux這個目錄來存放源碼,因為使用這個目錄你需要手工在/usr/include目錄下作一些符號鏈接,這實在不是一個好主意。所以我建議你為源碼單獨建一個目錄,這裡我們的目錄是/src/linux-2.6.0。 要編譯與正常運行新的內核你需要升級一些軟件包,這些信息在源碼目錄下的Documentation/Changes文件中,請根據你的實際情況選擇升級。這其中我強調一下你應該升級Module-Init-Tools,不要被你當前系統中depmod -V輸出的版本號迷惑(在RH9中它的輸出是2.4.22,感覺好象要比Changes中所要求的要高,實際上它們使用不同的版本規則)。新的 Module-Init-Tools在下面的網址中取得:http: //www.kernel.org/pub/linux/kernel/people/rusty/modules/ 我使用的是0.9.14。如果你下載的是源碼使用如下步驟進行編譯 ./configure --prefix=/ make moveold #這一步會將你以前的insmod, modprobe, rmmod和 lsmod #重命名為insmod.old, modprobe.old, rmmod.old lsmod.old make make install 然後使用 ./generate-modprobe.conf /etc/modprobe.conf (將原來的/etc/modules.conf轉換到/etc/modprobe.conf ) 如果你使用devfs系統你還需要復制modprobe.devfs 到/etc目錄下。 當你升級完相關軟件包之後,准備工作就算完成了,下面我們將進入到編譯階段。
第二部分 編譯 2.6的build系統與2.4有很大的不同,實際上是更加簡單與方便了。第一步我們要進入源碼目錄 cd /src/linux-2.6.0 make mrproper make menUConfig (基於文本選單的配置界面) 在閃過幾行字之後就出現了如圖的界面,在界面的上部是配置工作的使用說明,使用箭頭鍵在各選項間移動,使用enter進入下一層菜單,每個選項上的高亮字母是鍵盤快捷方式,使用它可以快速的到達你想設置的菜單項上。在括號中按y將這個項目編譯進內核中,按M編譯為模塊,按N為不選擇,按esc將返回到上層菜單。 GUI工具的基本概念也與之類似我們就不詳細討論了。在後面我將主要使用menuconfig來設置各個選項,選項的次序以它為准,其它工具中各選項也基本與之對應。切記把聲卡的模塊編譯進內核不然無法發聲!! 編譯和安裝內核 #make #make install 編譯和安裝模塊 #make modules(編譯選擇的模塊) #make modules_install(將編譯後的模塊轉移到系統標准位置) 完成後reboot就會發現啟動選項就會多出一個2.6內核的選項。 介紹一下新內核中的圖形界面配置工具 新內核中有兩個GUI配置工具,過去的make xconfig現在是一個使用QT庫作為界面方案的配置工具了,所以你要使用它必需先安裝QT庫。一般的發行版光盤中都包含了這個軟件包。 另一個是make gconfig這是一個使用GTK庫作為界面方案的工具,同樣你要使用它就要先安裝GTK庫。這兩個工具與原來的GUI工具在界面上有很大的變化,更加符合一般圖形界面程序的使用習慣。 而傳統的控制台配置工具menuconfig則沒什麼太大的變化基本上保持了原來的樣子,不喜歡花裡糊哨的GUI工具的兄弟還是用這個吧:) 在2.6中還添加了幾個以調試為目的的make選項,它們是allyesconfig、allnoconfig、allmodconfig分別表示將所有選項加載為y、將所有選項加載為n、將所有選項加載為m。它們是為內核開發人員與測試人員准備的,與我們的關系不大。
[1]