在Debian Wheezy 7.3.0上編譯安裝3.12.14內核

最近須要對Linux的一個內核模塊進行調整實驗,故決定先在虛擬機中完成編譯調試工做,最後再在真實的系統上進行測試。爲了防止遺忘,把過程記錄於此。html

1. 準備系統環境linux

首先從官網下載最新版的VirtualBox和Debian Wheezy 7.3.0的32位網絡安裝版CD鏡像文件(debian-7.3.0-i386-netinst.iso)。而後就能夠載入光盤開始安裝了,安裝的時候有幾點須要注意:vim

  1. 選擇語言、地區的時候,最好選擇English / Hong Kong,若是選擇中文則可能會出現亂碼
  2. 選擇安裝哪些組件的時候,只要選擇「標準系統組件」就好了,其它的都不裝
  3. 若是以後要寫到8G的U盤或者CF卡里,最好創建虛擬硬盤的時候就設置得小一些,好比7.2GB,要確保能寫得下,不然以後還須要用resize2fs和fdisk從新調整,這就比較麻煩了

2. 下載內核源碼,安裝必需的軟件bash

Debian Wheezy默認沒有提供sudo工具,因此能夠先把它裝上。網絡

su root...
apt-get install sudo
exit

可是如今仍是不能使用sudo,爲了能讓普通用戶可以使用sudo,須要將用戶加到/etc/sudoers文件中。app

su root...
vi /etc/sudoers

再次進入特權模式,找到文件中的下面這一行:工具

root    ALL=(ALL:ALL) ALL

在下面添加一行,變成這樣(其中feng32是做者的用戶名):測試

root    ALL=(ALL:ALL) ALL
feng32  ALL=(ALL:ALL) ALL

而後退出保存,就可使用sudo來臨時得到管理員權限了。接着安裝使用更方便的vim,方便以後的操做:es5

exit
sudo apt-get install vim

接着安裝兩個編譯內核真正須要的軟件包:spa

sudo apt-get install kernel-package
sudo apt-get install libncurses5-dev

最後從kernel.org上下載Linux內核源碼。這裏我選擇的是最新的longterm版本3.12.14。

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.14.tar.xz

3. 解壓內核源代碼

Debian Wheezy默認就整合了xz工具,因此能夠直接解壓。

xz -d linux-3.12.14.tar.xz
tar xf linux-3.12.14.tar

4. 配置、編譯內核

解壓獲得約520MB的文件,位於當前用戶的home目錄下。接着從現有的內核中獲取配置信息,運行:

cd linux-3.12.14
make oldconfig

配置系統會詢問不少新出現的配置選項,直接回車選擇默認項便可。而後運行:

make menuconfig

確保你須要的特性都已經包括,按ESC退出配置。最後運行下面的指令開始編譯:

make-kpkg clean 
fakeroot make-kpkg --initrd --append-to-version=-hlcodel --revision=1.0 kernel_image

在虛擬機中,單線程編譯3.12.14內核大約要花費1.5小時。在編譯完成以後,home目錄下出現了一個deb文件:linux-image-3.12.14-hlcodel_1.0_i386.deb。

5. 安裝內核

使用下面的命令安裝這個deb包:

dpkg -i linux-image-3.12.14-hlcodel_1.0_i386.deb

完成後重啓,而後運行unamr –r,若是出現下面的輸出,則表明安裝已經完成了:

3.12.14-hlcodel
相關文章
相關標籤/搜索