一、內核編譯
1、下載內核源代碼
在http://www.kernel.org/下載自己想要編譯的新內核,點後面的“F” 按鈕下載文件。
2、安裝有關編譯程序。安裝make, gcc, make-kpkg,運行menuconfig等等和編譯內核相關的工具。安裝不了,請檢查/etc/apt/sources.list 文件。
執行命令:
$sudo apt-get install build-essential kernel-package libncurses5-dev
3、在終端輸入su 命令切換到root權限,然後把linux-版本號.tar.bz2文件復制到/usr/src/ 目錄下。如果出現su:認證失敗,則證明root密碼尚未設置。Ubuntu默認root無密碼,但是第一個user在admin組,它可以給root設置密碼。
sudo passwd root
[sudo] password for 用戶名: <-輸入密碼
輸入新的UNIX密碼: <-輸入新密碼
重新輸入新的UNIX密碼: <-重新輸入新密碼
passwd:已成功更新密碼
4、cd 到/usr/src/目錄下,執行tar -jxvf linux-版本號.tar.bz2命令解壓源代碼包。就會解壓到/usr/src/ linux-版本號文件夾。
5、開始編譯前的准備工作。
首先,清理以前編譯時留下的臨時文件。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。接著cd到/usr/src/ linux-版本號文件夾。執行make mrproper命令(root用戶)。該命令可確保源代碼目錄下沒有不正確的.o文件.config文件等。
網上很多教程上說把現在使用的內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。
6、開始配置內核選項。執行命令: make menuconfig(此時最好選擇加載之前的內核.config文件,在之前的配置基礎上添加新的需要添加的新特性生成新的.config文件,內核選項的具體解析請參考鳥哥的Linux私房菜相關章節 http://www.linuxidc.com/Linux/2011-06/36804.htm 。)
看到圖1之後,你會發現畫面主要分為兩大部分,一個是大框內的反白光柱,另一個則是底下的小框,裡面有 select, exit 與 help 三個選項的內容。這幾個組件的大致用法如下:
圖 1、 make menuconfig 核心功能挑選菜單示意圖
基本上建議只要『上下左右的方向鍵、空白鍵、Enter』這六個按鍵就好了!不要使用 Esc ,否則一不小心就有可能按錯!另外,關於整個核心功能的選擇上面,建議你可以這樣思考:
總之,盡量保持核心小而美,剩下的功能就編譯成為模塊。