組刊首頁 舊版組刊 組刊團隊 主編愛說話 歷屆活動 畢業校友 關於我們 校友捐款
    |     Login

搜尋
主選單
Recent Artical
活動快報


Author : magt507
Article ID : 1212
Audience : default
Version 1.08
Published Date: 2015/6/15 14:10:00
Reads : 268


文/明憲(102級) 校/湘琪(103級)

最近因為研究的關係,所以接觸到Linux的核心編譯,順便紀錄整個核心編譯的過程,提供給需要的人參考。一般的使用者在使用上需要自行編譯核心的機會不多,小編在這裡因為需要網路上他人提供的功能,所以需要編譯客製化的核心。

 

小編使用的環境是Ubuntu 14.04,要編入的核心為Krill+VPLS 。請特別注意,客製化的核心有可能會造成系統無法正常開機。

 

  1. 首先將下載的核心解壓縮
    image07
  2. 接下來可以看到解壓縮後的資料夾內容
    image08
  3. 在開始編譯核心前需要安裝幾項編譯時會用到的套件
    #apt-get install libncurses5-dev gcc make git exuberant-ctags
    (若是新安裝好的Ubuntu, 請先執行apt-get update更新套件庫)
    image09
  4. 安裝套件後,進入核心的資料夾內,建立核心編譯需要的 .config檔
    #make menuconfig
    如果可以的話建議可以將目前使用核心的複製過來,再根據自己的需求修改,例如:
    #cp /boot/linux-3.13-config ./.config
    image01
  5. 這裡小編因為需要外加的網路模組,所以就進入Networking support->Networking options的選單內選擇需要的功能。其中[]表示該項只能編入核心 <>表示可以編入核心或編譯成可掛載的模組 *表示該模組要編入核心 M表示該模組要編譯成可掛載的模組
    image11image12
  6. 選擇完畢後就可以存檔離開選單
    image04
  7. 然後就可以開始編譯啦,-j4是因為小編用的電腦是4核心的,所以為了加快編譯的速度可以加上-j4,如果不確定自己的電腦的核心數,可以使用#less /proc/cpuinfo來看。另外如果電腦本身的核心數沒有這麼多卻使用很大的數字,反而會拖慢速度。
    #make
    編譯的過程通常需要很長的時間…
    image05
  8. 編譯完成後,確認沒有錯誤產生,就可以安裝核心了
    #make modules_install install
    image02
  9. 安裝完成後,就是要更新開機選單囉,以小編的環境為例,使用的是grub2
    #update-grub2
    (如果使用grub:#update-grub)
    image13
  10. 最後確認一下開機選單的設定,將GRUB_HIDDEN_TIMEOUT=0註解掉,如果沒有註解掉是會看不到開機選單的
    image10
  11. 最後重新開機就可以看到新編譯的核心啦,進入系統後也可以使用
    #uname -r
    確認目前使用的核心版本
    image06

Printer Friendly Page Send this Article to a Friend
這些評論各由發表者自負責任. 對於他們的發言內容, 本站不提供任何擔保.

張貼者 討論串
tch
張貼日期: 2015/8/3 11:17  更新日期: 2015/8/3 11:17
會員一級
註冊日: 2006/12/9
來自: Taiwan
張貼數: 18
 回覆: Linux核心編譯
你的範例 ktrill-devel中有vpls嗎?

張貼者 討論串
MichaelQQ
張貼日期: 2015/9/29 23:52  更新日期: 2015/9/29 23:52
會員一級
註冊日: 2010/7/24
來自:
張貼數: 1
 回覆: Linux核心編譯
有喔,只是那時候kerenl的名稱沒改
登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!
最新評論


| © 2008 | CN Journal | 組刊相簿 | 舊版組刊 | 聯絡我們 | 中正通訊網路組 |