編譯Linux3 0 4核心,建立原始碼樹

2021-06-01 09:28:57 字數 1844 閱讀 4971

原文內容如下:

linux核心3.0版本發布已有一段時間了,不知道這個版本號大躍進的核心是否好用。不過目前各個發行版的linux還仍未採用3.0的核心,因此可以自己動手編譯核心來感受一下!趁著這次編譯核心的機會可以再熟悉一下編譯核心的步驟。

~$ tar xjvf linux-3.0.4.tar.bz2  2.配置核心

對核心進行配置是為了得到核心配置檔案.config。通過對核心進行配置,可以使未來編譯成功的核心增加或減少對一些核心特性的支援。對核心進行配置有多種方法,有基於文字的配置方式也有基於圖形的使用者介面。下面採用使用比較廣泛的make menuconfig方式:

~/linux-3.0.4$sudo apt-get install libncurses5-dev ~/linux-3.0.4$sudo make menuconfig  

由於該配置方式基於ncurses庫,所以在啟動配置界面前要先安裝ncurses庫。啟動配置界面前,必須進入原始碼根目錄,配置介面啟動成功後如下圖:

我們這裡對核心按照預設的配置方式進行編譯,因此當配置選單啟動後直接退出並儲存即可。此時就在核心原始碼根目錄下生成了.config。

現在就可以編譯核心了,不過整個編譯過程比較漫長,因此可以對make加-j引數來提高編譯的效率。在make時使用該選項會為編譯過程分配n個併發任務,這樣可以縮短編譯時間。n的取值為cpu個數的二倍。

~/linux-3.0.4$sudo make -j4  

上述過程會有兩部分的工作,其一是編譯核心,即編譯配置選項中標記為y的那部分核心;其二是編譯核心模組,即編譯配置選項中標記為m的那部分核心。

首先對核心模組進行安裝,這個過程會將剛剛編譯核心模組時生成的核心模組複製到/lib/modules/3.0.4/目錄下,其中3.0.4為對應的核心版本。使用的命令如下:

~/linux-3.0.4$sudo make modules_install

接著使用下述命令安裝編譯好的核心:

~/linux-3.0.4$sudo make install  

安裝核心的過程主要完成了以下的工作:

1.將編譯核心時生成的核心映象bzimage拷貝到/boot目錄下,並將這個映象命名為vmlinuz-。如果使用x86的cpu,則該映象位於arch/x86/boot/目錄下(處於正在編譯的核心原始碼下)。

2.將~/linux-3.0.4/目錄下的system.map拷貝到/boot/目錄下,重新命名為system.map-3.0.4。該檔案中存放了核心的符號表。

3.將~/linux-3.0.4/目錄下的.config拷貝到/boot/目錄下,重新命名為config-3.0.4。

initrd.img即為初始化的ramdisk檔案,它是乙個映象檔案,將一些最基本的驅動程式和命令工具打包到映象檔案裡。該映象檔案的作用是在系統還沒有掛載根分割槽前,系統需要執行一些操作,比如掛載scsi驅動,此時將initrd檔案釋放到記憶體中,作為乙個虛擬的根分割槽,然後執行相關指令碼,執行insmod命令載入需要的模組。

具體的建立方法如下:

~/linux-3.0.4$sudo mkinitramfs 3.0.4 -o /boot/initrd.img-3.0.4  

最後一步則是更新grub啟動選單,使用下面的命令則可以自動更新啟動選單:

sudo update-grub2

這樣會將剛才編譯好的核心放在啟動選單的首位,如果需要修改啟動選單中預設系統的啟動順序,則修改/boot/grub/grub.cfg檔案中的set default=的值即可。

ok,核心編譯完畢。

編譯Linux3 0 4核心,建立原始碼樹

原文內容如下 linux核心3.0版本發布已有一段時間了,不知道這個版本號大躍進的核心是否好用。不過目前各個發行版的linux還仍未採用3.0的核心,因此可以自己動手編譯核心來感受一下!趁著這次編譯核心的機會可以再熟悉一下編譯核心的步驟。tar xjvf linux 3.0.4.tar.bz2 2....

Ubuntu下編譯3 0 4核心

linux核心3.0版本發布已有一段時間了,不知道這個版本號大躍進的核心是否好用。目前各個發行版的linux還仍未採用3.0的核心,因此可以自己動手編譯核心來感受一下!趁著這次編譯核心的機會可以再熟悉一下編譯核心的步驟。1 tar xjvf linux 3.0.4.tar.bz2 對核心進行配置是為...

Ubuntu下編譯3 0 4核心

2.配置核心 對核心進行配置是為了得到核心配置檔案.config。通過對核心進行配置,可以使未來編譯成功的核心增加或減少對一些核心特性的支援。對核心進行配置有多種方法,有基於文字的配置方式也有基於圖形的使用者介面。下面採用使用比較廣泛的make menuconfig方式 sudo apt get i...