歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu編譯內核

Ubuntu編譯內核

日期:2017/2/28 15:29:07   编辑:Linux教程

一、內核編譯

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 三個選項的內容。這幾個組件的大致用法如下:

  • 『左右方向鍵』:可以移動最底下的 <Select>, <Exit>, <Help>項目;
  • 『上下方向鍵』:可以移動上面大框框部分的反白光柱,若該行有箭頭 (--->) 則表示該行內部還有其他細項需要來配置的意思;
  • 選定項目:以『上下鍵』選擇好想要配置的項目之後,並以『左右鍵』選擇 <Select> 之後, 按下『 Enter 』就可以進入該項目去作更進一步的細節配置;
  • 可挑選之功能:在細節項目的配置當中,如果前面有 [ ] 或 < > 符號時,該項目才可以選擇, 而選擇可以使用『空白鍵』來選擇;
  • 若為 [*] <*> 則表示編譯進核心;若為 <M> 則表示編譯成模塊!盡量在不知道該項目為何時,且有模塊可以選,那麼就可以直接選擇為模塊!
  • 當在細項目選擇 <Exit> 後,並按下 Enter ,那麼就可以離開該細部項目!

圖 1、 make menuconfig 核心功能挑選菜單示意圖

基本上建議只要『上下左右的方向鍵、空白鍵、Enter』這六個按鍵就好了!不要使用 Esc ,否則一不小心就有可能按錯!另外,關於整個核心功能的選擇上面,建議你可以這樣思考:

  • 『肯定』核心一定要的功能,直接編譯進核心內;
  • 『可能在未來會用到』的功能,那麼盡量編譯成為模塊;
  • 『不知道那個東西要干嘛的,看 help 也看不懂』的話,那麼就保留默認值,或者將他編譯成為模塊;

總之,盡量保持核心小而美,剩下的功能就編譯成為模塊。

Copyright © Linux教程網 All Rights Reserved