How-To : Recompiling Linux Kernel
LastUpdate - 06 / 03 / 2005 By DarkRanger .
環境 :
Fedora Core 3
Kernel = 2.6.9-1.667 & 2.6.10-1.770
1. 安裝 Kernel 原始碼
以下提供一個快速重編 Linux Kernel ( 核心 ) 的方法 : 首先以 Fedora Core 來說 , DR 建議使用 Fedora 的 SRPM 來安裝 , 而安裝方式如下 :
# rpm -ivh kernel-2.6.10-1.770_FC3.src.rpm
# rpmbuild -bp --target=noarch /usr/src/redhat/SPECS/kernel-2.6.spec
如此一來就會產生像下面這樣的路徑 :
/usr/src/redhat/BUILD/kernel-2.6.10/linux-2.6.10/
2. 設定 Kernel
接下來的步驟也很簡單 , 跟著做即可 :
# cd /usr/src/redhat/BUILD/kernel-2.6.10/linux-2.6.10/
# make mrproper ( 去除編譯過的檔案 - 很重要, 每次重編時都要記得做 )
Kernel
的設定檔是放在 /usr/src/redhat/BUILD/kernel-2.6.10/linux-2.6.10/.config , 如果將舊
Kernel的設定檔覆蓋上去 , 你可以執行下列指令來對 Kernel 的新增元件做設定 :
# make oldconfig
設定 Kernel 的工具有下列 :
# make config ( 文字介面 )
# make menuconfig ( 文字樣式的圖形介面 )
# make gconfig ( GTK 圖形介面 )
# make xconfig ( Qt 圖形介面 - 建議使用 )
Xconfig 的樣式如下 :
注意 : 你可以在設定工具中另存 / 讀取設定檔 ,
這裡有提供一個 DR 自己做的AMD K7 平台設定檔下載 .
3.編譯 & 安裝 Kernel
依序執行下列指令 :
# make all ( 需花一段時間 )
# make modules_install
# make install
安裝完成後 , 新 Kernel 的開機選項應該會寫入 /boot/grub/grub.conf 裡 .
4. 執行 & 測試 新 Kernel .
重開機後選新 Kernel 即可 , 如果新 Kernel 在使用上有問題 , 就使用舊 Kernel 進入系統並重新編輯 , 然後非 Kernel 內建的驅動程式要記得重灌 ( 例如 NVIDIA 驅動程式 ) , 還有一點 , /usr/src/redhat 底下的檔案必須留著 (安裝 module 會用到 ) .
5. 移除 Kernel .
通常自訂 Kernel 只要留一個就好了 , 所以當你安裝了一個更新的自訂 Kernel 後 , 就可以考慮把舊的移除掉了 , 例如以下的檔案與目錄 :
/lib/modules/2.6.10-prep
/boot/initrd-2.6.10-prep.img
/boot/System.map-2.6.10-prep
/boot/vmlinuz-2.6.10-prep
這個目錄底下的原始檔案也要記得移除掉 .
/usr/src/redhat
最後修改 /boot/grub/grub.conf 即可 .
參考網站 :
http://www.mjmwired.net/resources/mjm-kernel-fc3.shtml
http://linux.vbird.org
http://fedora.redhat.com
→Back to DarkRanger.no-ip.org