編譯 Kernel 前一大堆選項,若要認真選擇 Kernel 的功能
單是查看選項,都已經要一小時或以上,編譯也有機會用上一小時
即使譯編成功,更新新的 Kernel 也不代表重新開機後 Kernel 能夠正常運作
因此編譯 Kernel 前必須審慎選擇每一個項目
Kernel 的編譯主要是透過
1 | make config |
但 make config 這指令非常不人性化
它是以 shell script 一般的形式,以串連形式,逐項單行顯示,不能略過
而且選擇錯誤,必須由頭重選
由於選項達 300 多項 (由於科技進步,Kernel 的選項越來越多及複雜),緊按 ENTER 鍵,也要數分鐘才能完成

由於編譯 Kernel 大多時候都希望能繼承原來的 Kernel 上增加功能
因此可利用
1 | make oldconfig |
透過 make oldconfig 指令
會將 Kernel 資料夾中 .config 的訊息讀取,並將在 Kernel 的選項上自動填妥,但仍然是一種串連形式選項

若果有安裝 ncurses5 這種 TUI (Text-based User Interface)
可以利用
1 | make menuconfig |
1 | apt-get install libncurses5-dev |
1 | yum install libncurses5-devel |
make menuconfig 最大好處是可以在互動情況下,選擇 Kernel 項目
不需要因,錯誤選項而重新選擇
同樣 make menuconfig 亦與 make oldconfig 相同地能夠繼承 Kernel 資料夾中 .config 的訊息
將原來 Kernel 設定資料設成預設,而且離開會提供儲存提問
還有這種設定可以在沒有 GUI 的情況下運作,適合任何沒有 GUI 的作業系統

最後一種為
1 | make gconfig |
而且必須安裝 gtk+-2.0、glib-2.0 及 libglade-2.0 這三種函式庫
DEB 系列及RPM 系列分別可使用
1 | apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev |
1 | yum install libgtk2.0-devel libglib2.0-devel libglade2-devel |
make gconfig 唯一最大好處是可以將所有子項目展開,一次過顯示,不用經常進出子項目

(注意:現在使用 Qt 的 KDE 都統一使用 make gconfig 來執行,而不再分 make kconfig 及 make xconfig)
沒有留言 :
張貼留言