Linux 核心編譯

來源:互聯網
上載者:User

標籤:

  Linux作業系統一直在不斷的發展和完善,核心版本也在不斷地更新。對於Linux的使用者來說,如果不想顯得自己太"Low",學會編譯安裝Linux 核心就變得非常重要。下面簡單介紹一下編譯和安裝核心的過程。

事實上Linux 支援的硬體系統是很多的,比如X86、ARM等等。本文只介紹基於X86系統的編譯。

  巧婦難為無米之炊,要想編譯核心首先得拿到核心的原始碼吧。到www.kernel.org 網站上download一個,並在Linuxx系統下用"tar xzvf $version "解壓開。這裡我下載的是Linux-3.19.3.所以執行

的是" tar xzvf Linux-3.19.3 "。解壓完成的檔案夾裡面就是龐大的Linux 核心代碼。下面開始介紹編譯過程。

       編譯的過程大致可以分為4步

  1.配置核心,得到設定檔 .config

  2.編譯核心,得到 核心映像 zImage 和 核心模組映像 initrd-$version 

  3.安裝核心

  4.清除檔案

 

      1.配置核心

       為啥要配置核心?很簡單,因為核心是適用於多個系統的,我們要根據自己的硬體系統制定出匹配的軟體系統。

           進入解壓開的核心原始碼根目錄,執行 “make menuconfig”命令,,會出現如下的介面:

    

        

      這裡就是核心配置的功能表項目,我們可以一項一項的選擇,可是這麼多選項,要知道哪個是需要的,哪個是不需要的可不是件容易的事兒。懶人自有懶人的方法,咱不是已經有了自己Linux系統麼,咱看看現在系統的配置,仿照它就行。到/boot/目錄下找到設定檔,這裡我的是 config-2.6.32-279.el6.i686 檔案。將這個檔案copy 到核心根目錄下。然後選擇上面的 <load> ,進去以後將檔案名稱填好。選擇<OK>回到上面的介面,選擇 <save>,將檔案名稱命名為.config 然後退出。

     回到核心根目錄使用 ls -a 查看設定檔,如果有個.config 的檔案則說明配置成功了。

  2. 編譯核心

  其實編譯核心可以細分為4步:

  2.1 編譯核心檔案:使用make bzImage 命令開始編譯,整個編譯過程非常漫長,可以達到15+分鐘,如果電腦殘點的可以用到半個小時。編譯完成後會在 arch/X86/boot/下找到一個bzImage

            的核心映像檔案。

  2.2 編譯核心模組:首先為啥有了核心檔案還有個核心模組呢?因為整個Linux作業系統是非常龐大的,如果所有的檔案都放在bzImage 裡,那系統就會顯得非常臃腫而且占空間。並且有些服務平時是不會用到的,所以就把這些需要用到才載入的檔案編譯成核心模組,等用到的時候在載入到記憶體運行。那怎麼編譯核心模組呢?很簡單,執行命令 make modules 就行。編譯好的核心模組散落在各個檔案夾裡,尾碼都是 .ko 。

      2.3 將編譯好的核心模組/lib modules/目錄下:make modules_install。執行完這個命令之後到/lib/modules/目錄下可以看到相應的目錄<我的就有兩個目錄2.6.32-279.el6.i686 和 3.19.3>

  2.4 製作initramdisk:將編譯好的核心模組檔案打包成一個檔案,執行命令 mkinitrd  initrd-$version  version 如我的就是 mkinitrd  initrd-3.19.3  3.19.3。完成以後會在目錄下出現核心模組檔案 initrd-3.19.3 。至此,編譯階段完成。

  3.安裝核心:經過前面的編譯階段,我們得到了兩個檔案,分別是 bzImage 和initrd3.19.3 ,所謂的安裝其實就是將這兩個檔案copy 到/boot/目錄下,然後修改啟動項/etc/grub.conf裡面的載入核心檔案和核心模組檔案就行。最後重啟電腦即可用到我們剛剛編譯好的核心。

  4.清除檔案:安裝完成以後我們還得把核心代碼裡留下的痕迹清理。執行命令 make distclean 即可。

至此,編譯安裝核心的工作已經完成。

 

 

 

 

 

 

 

 

 

   

Linux 核心編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.