安裝內(nèi)核源碼
Fedora內(nèi)核源碼經(jīng)過長時間的發(fā)展,很多用戶對Fedora 12 都很了解了,這里我發(fā)表一下個人理解,和大家討論討論。目前也有中文版本的Linux,如REDHAT(紅帽子),紅旗Linux等。在國內(nèi)得到了用戶充分的肯定,主要體現(xiàn)在它的安全性和穩(wěn)定性方面,它與Unix有許多類似之處。但目前這類操作系統(tǒng)目前使仍主要應(yīng)用于中、高檔服務(wù)器中。
安裝Kernel Headers(頭文件)
這個包提供Kernel Headers和makefiles足以應(yīng)付kernel包中的模塊編譯。如果你需要安裝驅(qū)動和某些第三方軟件,你應(yīng)該很需要Kernel Headers。如果一個驅(qū)動要求內(nèi)核源碼,那么也許安裝Kernel Headers就已經(jīng)足夠了。Kernel Headers通過安裝kernel-devel RPM包就可以得到。這個包可能沒有被Fedora自動安裝。這個軟件包可以從你的Fedora DVD安裝或者通過FTP和YUM在線安裝。在Fedora軟件倉庫和Update軟件倉庫中在線查找同時確保他們與你的系統(tǒng)相匹配,使用uname命令。示例:
[wisfern@Wisfern ~]$ uname -rm
2.6.32.11-99.fc12.i686.PAE i686
如果你已經(jīng)升級過你的kernel(使用yum),那么建議你使用yum來安裝這個軟件包。
[wisfern@Wisfern ~]$ sudo yum install kernel-PAE-devel
安裝Kernel Source(內(nèi)核源碼)
一般來說無須安裝Kernel Source除非你有一些特別的原因想要重新編譯你的內(nèi)核源碼。無論如何Kernel hesders都是必須的。
圍繞Kernel Sourcede的安裝有三個基本步驟。
1.準(zhǔn)備相關(guān)的環(huán)境
2.下載你想要的內(nèi)核源碼(與你當(dāng)前的kernel想匹配如果需要)
3.安裝SRC.RPM包
4.使用rpmbuild將源碼轉(zhuǎn)換成可用狀態(tài)
NOTE: 以下的步驟將消耗至少400MB磁盤空間!
準(zhǔn)備相關(guān)的環(huán)境
在開始安裝之前,必須安裝兩個必要的軟件包,分別是:rpmdevtools 和yum-utils,可以使用如下命令安裝:
su -c ‘yum install yum-utils rpmdevtools’
安裝你之前選擇和下載的kernel.src.rpm,這個過程不能在root這個用戶下進(jìn)行?。?br />設(shè)置目錄
rpmdev-setuptree
這個命令在當(dāng)前的用戶目錄下生成了rpmbuild目錄。
下載內(nèi)核源碼
通過’yum’來獲得內(nèi)核源碼(對于最新的Fedora內(nèi)核源碼)
yum工具可以下載最新的內(nèi)核源代碼。如果沒有找到,那么這里(還)沒有任何更新,那就使用默認(rèn)的Fedora內(nèi)核源碼。
[wisfern@Wisfern Desktop]# yumdownloader –source kernel
(source選項前是兩個-)
安裝內(nèi)核源碼
安裝依賴性軟件
su -c ‘yum-builddep kernel-version>.src.rpm’
安裝*.src.rpm包
[wisfern@Wisfern Desktop]#sudo rpm -ivh kernel-2.6.32.11-99.fc12.src.rpm
1:kernel ########################################### [100%]
在安裝的過程中,如果出現(xiàn)如下錯誤:
warning: user mockbuild does not exist – using root
warning: group mockbuild does not exist – using root
新建一個組和一個帳號就好了。
#gourpadd mockbuild
#useradd mockbuild -g mockbuild
然后再重新安裝
準(zhǔn)備內(nèi)核源碼
將源碼轉(zhuǎn)成可用狀態(tài):
進(jìn)入SPECS目錄
cd ~/rpmbuild/SPECS
執(zhí)行以下命令
rpmbuild -bp –target=$(uname -m) kernel.spec
(target選項前是兩個-)
源文件可以在~/rpmbuild/BUILD/kernel-2.6.32目錄中找到。這里有兩個有用的目錄。
1.linux-2.6.32.i686/arch
這里有包含了Fedora 補丁和更新的標(biāo)準(zhǔn)kernel.org內(nèi)核源碼。系統(tǒng)架構(gòu)與uname -m的輸出相匹配,一般來說是i686 ,如果你想,你可以讓–target=選項使用noarch參數(shù)。
2.vanilla-2.6.32/
這里只包含標(biāo)準(zhǔn)的kernel.org的kernel(沒有補丁和更新).
NOTE: Fedora編譯和配置內(nèi)核源碼的詳細(xì)過程可以在Fedora Wiki中找到。
刪除舊內(nèi)核
由于Fedora更新升級非常的頻繁, 所以, 非常有必要清除陳舊的內(nèi)核,方法如下:
1. 查看當(dāng)前系統(tǒng)中已安裝的內(nèi)核相關(guān)包:
[root@www.jb51.net ~]# rpm -qa | grep kernel
kernel-headers-2.6.32.12-115.fc12.i686
kernel-firmware-2.6.32.12-115.fc12.noarch
kernel-PAE-devel-2.6.32.11-99.fc12.i686
kernel-devel-2.6.32.12-115.fc12.i686
kernel-PAE-2.6.32.11-99.fc12.i686
kernel-PAE-devel-2.6.32.12-115.fc12.i686
kernel-PAE-2.6.32.12-115.fc12.i686
kernel-devel-2.6.32.11-99.fc12.i686
abrt-addon-kerneloops-1.0.9-2.fc12.i686
2. 查看當(dāng)前使用的內(nèi)核:
[root@www.jb51.net ~]# uname -r
2.6.32.12-115.fc12.i686.PAE
3. 確定要刪除的內(nèi)核:
這里為:kernel-PAE-2.6.32.11-99.fc12.i686[/code]
4. 刪除內(nèi)核:
[root@www.jb51.net ~]# yum remove kernel-PAE-2.6.32.11-99.fc12.i686
說明:
不推薦網(wǎng)上到處抄來抄去的,直接使用: rpm -e 的方法刪除內(nèi)核包, 而是使用 yum remove 進(jìn)行刪除,
因為使用yum remove刪除, yum 會自動移除 : /boot/grub/menu.lst 中的相關(guān)啟動項。