天天看點

核心的編譯安裝

編譯安裝新核心

步驟:

1、下載下傳到新的版本的核心

2、配置新的核心,標明要使用的功能或子產品,前面說到Linux采用的是單核心的設計模式,是以有些驅動或功能可以直接編譯進核心,有些則可以編譯為子產品,而這些就是在這裡進行配置的。

2.1 解壓到特定目錄下:/usr/src/

#tar xvf linux-2.6.28.10.tar.gz -C /usr/src/

#cd /usr/src/

這裡我要編譯的核心版本是2.6.28.10

2.2 這裡還要将解壓出來的目錄linux-2.6.28.10建立一個linux軟連結,一是約定俗成,二是友善以後我們以後在編譯新核心,當然這裡如果不想建立連結,也可以将其重命名為linux

法1:#ln -sv linux-2.6.28.10 linux    ---為linux-2.6.28.10建立軟連接配接linux

法2:#mv linux-2.6.28.10 linux        ---将linux-2.6.28.10重命名為linux

2.3 配置編譯環境

#yum grouplist        ---檢視Development Libraries,Development Tools這兩個包組是否都安裝,如果Development Libraries已經安裝,Development Tools并未安裝,但是此時Development Tools大部分都已經安裝,因為Development Libraries安裝時依賴于Development Tools,但如果Development Tools已經安裝,Development Libraries并未安裝,這時則需要安裝Development Libraries

#yum groupinstall nogpgcheck "Development Libraries" -y        ---不驗證簽名資訊直接回複y進行安裝

2.4 配置核心(驅動、功能、支援...)

#cd /usr/src/linux

法1:(make menuconfig        ---打開配置選項菜單)

當打開時這裡都是一些預設的選項,并不是完全根據我們的計算機的硬體配置所進行的配置,而這裡大概有3000多項,稍微有一點選擇錯誤,就有可能導緻我們的核心編譯失敗,是以我們可以使用redhat之前給我們的預設的配置檔案".config"

#cp /boot/config-2.6.18-164.el5 ./.config    ---将之前的核心配置檔案config-2.6.18-164.el5複制到目前目錄下并且重命名為.config

#make menuconfig    ---在Redhat給我們預設的配置基礎上在做稍微的修改,是不是友善多了

注:在menuconfig中[]:表示不啟用此項  [*]:表示直接編譯進核心  [M]:表示編譯為子產品

法2:(#make xconfig     ---打開圖形界面進行選擇配置)

注:使用xconfig需要安裝KDE Software Development,但是安裝依賴于X Software Development,是以使用

#yum groupinstall nogpgcheck "KDE Software Development" -y

#make xconfig

法3:(#make gconfig)

注:使用gconfig需要安裝GNOME Software Development,是以先

#yum groupinstall nogpgcheck "GNOME Software Development" -y

#make gconfig

法4:(#make config)    ---這個将會周遊所有的配置選項,3000多項,你懂的,周遊下來很痛苦的,呵呵。

是以我們一般常用的就是法1、法2、法3

3、編譯新核心

編譯新核心這個過程是很漫長的,短則30分鐘長則1個半小時,時間的長短,取決于所要編譯的核心子產品多少和機器的性能。

這裡一般我們經常都是遠端登入到Linux上,是以當我們這在編譯核心時突然遠端連結斷開了,那麼就前功盡棄了,還得重新來過,是以為了防止這種情況發生,我們使用screen

#which screen

如果存在screen

#screen            ---進入螢幕

#make            ---編譯

如果不存在screen

#yum install screen

注:Ctrl+a,d 離開螢幕

#screen -ls        ---檢視打開的screen清單,每一個screen都有一個screenid

#screen -r screenid    ---打開指定的screen

4、安裝

#make modules_install    ---安裝子產品

#make install    

擴充:

一、在已經編譯過的核心源碼基礎重新編譯:

#make clean        ---清理之前編譯的選項

#make mrproper

上面的兩個指令執行後.config會被删除

三、僅編譯某個目錄中的源代碼:

#make SUBDIR=arch/

四、僅編譯某個目錄中的子產品

#makke M=drivers/net/

本文轉自 向陽草米奇 51CTO部落格,原文連結:http://blog.51cto.com/grass51/790859,如需轉載請自行聯系原作者

繼續閱讀