歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux內核

linux內核的編譯

編譯linux內核已經有3次了,每一次編譯都需要到網上查找編譯步驟,感覺網上的各種資料亂七八糟的,並不是都適合ubuntu12.04的系統,所以做一個記錄。

適應版本:ubuntu12.04

1.首先下載需要的linux內核源代碼,可以到kernel.org去下載自己想要的內核源代碼。

2.下載完成後進行解壓,一般內核代碼是位於/usr/src目錄之下的,所以可以將你的內核源代碼解壓到這個目錄下。

3.解壓完成之後,就可以看到linux內核源代碼的目錄了。

4.進入到內核源代碼的目錄之下,執行命令:

make menuconfig
注意:這個命令需要在超級用戶權限下執行,否則可能會報出一些莫名奇妙的錯誤。執行這個命令之後了,就可一看到下面的圖片了:\

 

這個界面中的一些選項是用來對編譯時的linux內核進行配置的,我們可以根據需要來進行選擇配置。

5.配置完成之後,選擇Exit退出並保存配置就可以了。

6.接下來執行命令:

make all -j4
就可以編譯內核了,make all就是將內核以及模塊一起編譯。後面的參數-j4表示,cpu要開啟四個線程來編譯內核。一般來說,每個cpu可以開啟兩個線程來編譯內核,我的電腦是有兩個cpu,所以開啟了4個線程。這樣編譯真心很快的,以前我就一個線程在編譯,簡直等的都無語了。

7.編譯完成之後,就可以進行內核的安裝了,我們將源代碼目錄下的arch/x86_64/boot/bzImage復制到/boot/下面,因為我下載的源代碼版本為linux-2.6.30.3,所以復制的命令為:

cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.30-3
讀者需要根據自己的cpu類型,如是x86架構還是amd,或者是32位或64位,在相應的目錄下尋找bzImage。

8.將源代碼目錄下的System.map復制到/boot目錄下:

cp /usr/src/linux-2.6.30.3/System.map System.map-2.6.30-3
9.將源代碼目錄下的.config復制到/boot/目錄下:
 cp .config /boot/config-2.6.30-3
10.安裝模塊:
make modules_install
11.切換到/boot/grub/目錄下:
cd /boot/grub/
12.更新grub.cfg文件:
 update-grub2
之後,就可以重啟電腦了,在previous version中就可以啟動新編譯的內核了。
Copyright © Linux教程網 All Rights Reserved