CentOS 上安裝Linux 新內(nèi)核
CentOS 5.5所帶的內(nèi)核還是2.6.18.x系列,有點(diǎn)老了。因?yàn)橹芭季幾g過LFS與Gentoo,編譯內(nèi)核有一些經(jīng)驗(yàn)了,所有這次還比較順利。本次編譯的系統(tǒng)是32位的,64位的稍有不同。下面的筆記在虛擬機(jī)與物理機(jī)中都驗(yàn)證通過,所有操作全部以root權(quán)限在終端進(jìn)行。
下面是本次編譯升級(jí)了到今天為止最新的穩(wěn)定版內(nèi)核2.6.35.1版的筆記總結(jié):
編譯前的準(zhǔn)備工作:
要成功地創(chuàng)建一個(gè)內(nèi)核,需要安裝下列組件:
yum groupinstall “Development Tools” #這樣做會(huì)確定你擁有編譯時(shí)所需的一切工具。
yum install ncurses-devel #這樣才能讓 make *config 這個(gè)指令正確地執(zhí)行。
yum install qt-devel #如果你用 make xconfig 而不是 make gconfig 或 make menuconfig,才需要這樣做。
1、下載新內(nèi)核源碼包:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.1.tar.bz2
tar jxvf linux-2.6.35.1.tar.bz2
cd linux-2.6.35.1
2、下載內(nèi)核標(biāo)準(zhǔn)配置文件:
wget http://www.ha97.com/code/config
mv config .config
3、編譯內(nèi)核:
make dep
注:選擇編譯進(jìn)去內(nèi)核的模塊,默認(rèn)回車即可。這一步如果系統(tǒng)時(shí)間不正確會(huì)提示“警告:檢測(cè)到時(shí)鐘錯(cuò)誤。您的創(chuàng)建可能是不完整的。”的警告。解決方法:把時(shí)間改正確或者運(yùn)行下面的命令再make
find . -type f -exec touch {} ;
make bzImage
make modules
make modules_install
make install
4、解壓修改內(nèi)核:
cp /boot/initrd-2.6.35.1.img /tmp/
cd /tmp/
mkdir newinitrd
cd newinitrd/
zcat ../initrd-2.6.35.1.img |cpio -i
rm -fr /tmp/initrd-2.6.35.1.img
vim init
找到這2段一樣的,去掉其中1段重復(fù)的:
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
5、從新打包新內(nèi)核:
find .|cpio -c -o > ../initrd
cd ../
gzip -9 < initrd > initrd-2.6.35.1.img
rm -fr /boot/initrd-2.6.35.1.img
cp initrd-2.6.35.1.img /boot
rm -fr /usr/src/linux-2.6.35.1.tar.bz2
rm -fr /usr/src/linux-2.6.35.1
6、設(shè)置從新內(nèi)核啟動(dòng)系統(tǒng):
vim /boot/grub/grub.conf
把default=1改為default=0
7、重新啟動(dòng)系統(tǒng):
reboot
8、如圖所示,啟動(dòng)成功,OK。


【編輯推薦】