opensuse 11.2 安裝使用一段時間了,雖然沒有 UBUNTU 簡單易用(openSUSE 光是一個寬帶拔號就浪費了大量的時間和精力)和社區支持(UBUNTU 是所有 Linux 發行版本中文社區做得最好的,沒有之一),沒有 FEDORA 的高速穩定,以及種種不如意外帶不少的 bug,不過憑藉其華麗的界面超牛的美工(呵呵,指的是 KDE 版本,不裝 KDE 不能算真正使用過 openSUSE)讓人愛不釋手。
不過最近碰上一個無解的 bug,就是頻繁死機,而且是真死,不是藍屏或者速度變慢。鼠標和鍵盤完全沒有反應,只能關閉電源重啓。其實08年就已經試用過 openSUSE 10,也是頻繁死機,讓人崩潰。當時還是個 Linux 菜鳥啊(其實現在還是,哈哈),根本沒辦法解決,只好格掉了。
難道還是隻能再次放棄?已經被 openSUSE 吸引的我心有不甘,決定再努力一次。在網上查閱了大量資料以後(其實是西拼東湊),發現一個比較靠譜的做法是升級 openSUSE 的內核到 2.6.34。
於是決定升級內核。升級以後,果然沒有了死機的 bug 再現(至少近10次的使用沒有)。不過編譯內核,很複雜吧?網上說得神乎其神,其實做起來真得很簡單。下面做一個總結。
Step 1
首先是下載內核。http://www.kernel.org 是官方源,從這下載無疑是最靠譜的。還有其它的下載源,特別是專門爲 openSUSE 打好補丁的內核下載源,我沒試過,就不好評價了,有興趣的朋友可以在網上查查。
Step 2
把下載以後的內核解壓縮,放在用戶目錄下的一個文件夾,像這樣:
Step 3
然後安裝編譯內核所必須的軟件:binutils gcc make module-init-tools udev ...
Step 4
打開終端,進入超級用戶模式,瀏覽到 linux-2.6.34 目錄(就是內核目錄):
執行命令:
#make clean
然後是:
#make mrproper
如果按照原來的配置編譯中途失敗了,可以用這兩條命令來清除已編譯部分和原配置文件。也就是說如果是第一次編譯,這兩條命令不用執行也沒問題。不過使用 Linux 的一般都是命令行控,執行命令上癮。就多執行兩行命令吧。
Step 5
進入圖形配置界面。在終端敲入以下命令:
#make menuconfig
這時候如果彈出一個錯誤提示:
Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.
make[1]: *** [menuconfig] Error 1
make: *** [menuconfig] Error 2
這是因爲終端的尺寸太小了,無法顯示圖形配置界面。把終端最大化,然後再執行 #make menuconfig 命令即可。
這個就是圖形配置界面。
其中:
- 使用上、下方向鍵瀏覽菜單
- 回車鍵選擇子菜單,高亮的字母是快捷鍵
- 按下 Y 鍵是包括
- 按下 N 鍵是排除
- 按下 M 鍵是模塊特徵
- 按下 Esc Esc 退出
- 按照下 ? 幫助
- 按下 / 搜索
- 圖例:
- [*] 內置
- [] 排除
- <M> 模塊
- <> 模塊範圍
說是編譯,其實我在這什麼也沒配置哈哈,直接用方向右鍵瀏覽到 Exit:
然後按下回車鍵,保存退出
Step 6
設置完畢,進入編譯階段。如果補丁和配置正確,下面幾步不會出錯,按順序執行,等待完成即可。
#make bzImage
#make modules
#make modules_install
#make install
一般 make modules 和 make modules_install 時間最長,這時候最好關閉所有的其它應用程序。喝杯茶或咖啡,看看報紙或電視,別總在守在電腦前面哈哈。如果期間出錯。回到之前配置內核清理並重新配置。
沒有意外的話,openSUSE 的 grub 菜單將會出現一個 2.6.34-0.2 內核的啓動選項。
這就是編譯內核的全部過程,當然是最簡單的了,沒有做任何的配置。如何進一步配置提高系統性能有待學習。