Linux 2.6.31 核心編譯方法

來源:互聯網
上載者:User


1、源碼下載

 

$ wget linux-kernel/v2.6/linux-2.6.31.tar.bz2

 

2、源碼解壓

 

$ tar -jxvf linux-2.6.31.tar.bz2 -C /usr/src/

TIP:當然,解壓縮到/usr/src/中並不是必須的,你可以解壓縮到任何位置。

 

3、檢查源碼(該步不是必須):

 

$ cd /usr/src/linux-2.6.31

 

$ make mrproper

 

TIP:該步的作用是檢查源碼是否有.o檔案和依賴問題,從全新的源碼編譯時間不需要這一步。配合make clean(主要清除.o檔案)使用更好,make mrproper主要清除環境變數及設定檔。

 

4、編譯核心

 

預設情況下,編譯輸出的檔案是放在源碼目錄裡的,可以通過O=output/dir參數來指定輸出檔案的位置(字母O,不是數字0)。很多第一次編譯核心的人都會碰到一個問題,/usr所在分區的空間不夠,此時,這個參數就很有用。

 

源碼提供了很多配置方式,推薦使用menuconfig:進入/usr/src/linux-2.6.31,已經進入則略過:$ cd /usr/src/linux-2.6.31

 

建立/build/kernel menuconfig檔案夾:$ sudo mkdir -p /home/你的使用者名稱/build/kernel menuconfig

 

使用menuconfig配置:$ sudo make O=/home/你的使用者名稱/build/kernel menuconfig

 

對於第一次編譯核心的人,不推薦直接從核心預設配置開始,推薦使用發行版內建的設定檔,通常/boot下會有config-2.6.xx的檔案。選擇Load an Alternate Configuration File,然後輸入/boot下那個config檔案的名字,載入即可。第一次編譯最好還是不要隨便修改配置了,如果失敗的話,會留下心理陰影的:-)在配置裡隨便看看,如果有什麼懂的也可以根據自己的需求改改,不明白的地方就不要動了吧。完了之後別忘了save,儲存的時候檔案名稱就填.config。

 

注意:如果出現找不到ncurses開發庫可以使用命令sudo apt-get install ncurses-dev,然後重新運行上面的命令就可以了

 

接下來就開始正式編譯了。編譯時間可能會有些長,為了避免終端意外關閉,可以使用screen,具體用法這裡就不談了。

 

$ make O=/home/name/build/kernel

 

為了加快編譯的速度,可以使用-j參數,開啟多線程。比如雙核的cpu可以這樣編譯

 

$ make -j4 O=/home/name/build/kernel

 

一般-jn的n為核心數的兩倍即可

 

5、安裝核心

 

$ sudo make O=/home/name/build/kernel modules_install install

 

6、產生initrd

 

$ sudo mkinitramfs -o /boot/initrd-img.2.6.31 2.6.31關於mkinitramfs的其他參數,請參考man mkinitramfs,關於initrd的作用,請自己google搜尋。我近期也會寫一篇文章剖析一下initrd。

 

7、修改引導

 

使用grub的話,可以直接使用:

 

$ sudo update-grub

 

來更新引導檔案,當然也可以自己編輯/boot/grub/menu.lst或者/boot/grub/grub.cfg檔案。

 

8、重啟

 

重啟之後可以通過以下命令確認你當前使用的是不是剛編譯的核心:

 

$ uname -a

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.