環(huán)境:Fedora 12 內(nèi)核:linux-2.6.32.2
(為什么選擇Fedora 12,因為12是偶數(shù)看起來舒服,且是最新版;同理選擇了linux-2.6.32.2,雖然有最新版2.6.33,但不是偶數(shù),不爽!)
STEP 1:到ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ ,下載[url=/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.gz]linux- 2.6.32.2.tar.gz[/url] STEP 2: 把[url=/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.gz]linux-2.6.32.2.tar.gz[/url]復(fù)制到 /usr/src/kernels/ (當(dāng)然其他任何目錄都可以的)
cp linux-2.6.32.2.tar.gz /usr/src/kernels/
|
STEP 3: 解壓
tar -xzf linux-2.6.32.2.tar.gz
|
STEP 4: 進(jìn)入linux-2.6.32.2
STEP 5: 配置。如果以前編譯過,那么用make mrproper刪除以前垃圾文件。用make menuconfig啟動配置的圖形界面。因為配置選項很多,短時間根本搞不懂哪些選項是必須的,哪些是可以不要的,所以,最佳的辦法是在一個已經(jīng)存在的配置文件上面修改。很顯然,F(xiàn)edora 12 就有現(xiàn)成的一個。把 /boot目錄里面 config-2.6.31.5-127.fc12.i686.PAE復(fù)制到/usr/src/kernels/linux-2.6.32.2里面并命名為.config。當(dāng)執(zhí)行make menuconfig時,首先尋找.config,如果找到就讀取。否則進(jìn)入arch目錄里面尋找相應(yīng)體系結(jié)構(gòu)默認(rèn)的配置文件。
cp /boot/config-2.6.31.5-127.fc12.i686.PAE /usr/src/kernels/linux-2.6.32.2/.config
make menuconfig
|
STEP 6: 編譯。2.6.32已經(jīng)是非常高的版本了,所以執(zhí)行make all,就相當(dāng)于:make dep(建立相依的屬性關(guān)系),make clean(將舊的資料去除掉),make bzImage(開始編譯核心),make modules(開始編譯模塊)
STEP 7:安裝模塊。安裝模塊到/lib/modules/,以后程序運行時從這個目錄加載模塊。
STEP 8: 安裝內(nèi)核。把make all 生成的vmlinuz和System.map復(fù)制到/boot目錄下同時修改grub /boot/grub/menu.lst. 修改menu.lst是自動完成的哦!!不用手動修改。
STEP 9: 重啟Fedora。選擇linux-2.6.32.2啟動。當(dāng)白色的進(jìn)度條顯示滿了后,多等會。
附一:我遇到的問題
1. 在make install時報錯,提示我沒有 mkinitrd這個命令。我到/sbin/里面找確實沒有啊。然后我到網(wǎng)上下了一個mkinitrd的軟件包安裝,安裝時又出錯,提示與系統(tǒng)的什么包相沖突。我在網(wǎng)上問了哈高手,然后通過Fedora 的包管理機(jī)制,添加了mkinitrd.總算是成功了。弄了很久。
2. 編譯了內(nèi)核啟動時,白色的顯示條顯示滿了后,要等一段時間。剛開始,我試了很多次,改了很多東西,每次白色條顯示滿了,我等了幾秒,沒反應(yīng),就錯誤地以為我編譯的內(nèi)核不成功。當(dāng)我弄煩了后,干脆不理它,我搞點其他的,等回到虛擬機(jī)時,居然啟動了。一陣狂喜啊!
附二: 感謝 感謝網(wǎng)上的高手給我提示,以后只要我知道我也會毫不吝惜地幫助別人; 感謝chinaunix里面牛人寫的博客,(在參考博客里面),寫得非常之好,仰慕,學(xué)習(xí)。
參考博客: http://linux.chinaunix.net/ebook/doc/2009/12/07/1147818.shtml Fedora下內(nèi)核編譯 [第十五期]
http://linux.chinaunix.net/techdoc/develop/2008/12/22/1054372.shtml 編譯內(nèi)核步驟詳解
http://linux.chinaunix.net/techdoc/system/2008/11/08/1044037.shtml 編譯 Linux2.6 內(nèi)核總結(jié)
|
posted on 2010-03-04 11:30
deercoder 閱讀(2309)
評論(1) 編輯 收藏 引用 所屬分類:
Unix/Linux