編譯內核及制作RPM包
編譯步驟
第一步:
# cd /home
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.5.tar.gz
# tar -zxvf linux-2.6.32.5.tar.gz -C /usr/src
# cd /usr/src
# ln -s linux-2.6.32.5 linux
# cd linux
第二步:
# make mrproper (初次編譯內核這步也可以省略,方便第二次編譯初始用。)
# make menuconfig
# make bzImage && make modules && make modules_install(需30~40分鐘,具體看服務器配置)
# make install
如需制作RPM內核安裝包,運行以下命令,相當於第二步的操作,但不編譯本機內核。
# make rpm
生成位置:
/usr/src/redhat/RPMS/x86_64/kernel-2.6.32.6-2.x86_64.rpm
/usr/src/redhat/SRPMS/kernel-2.6.32.6-2.src.rpm
安裝步驟
1、二進制rpm包安裝步驟
# rpm -ivh kernel-2.6.32.6-1.x86_64.rpm
# vi /boot/grub/menu.lst添加以下並修改default項。
title CentOS (2.6.32.6)
root (hd0,0)
kernel /vmlinuz-2.6.32.6 ro root=LABEL=/
initrd /initrd-2.6.32.6.img
# cd /lib/modules && mkinitrd /boot/initrd-2.6.32.6.img 2.6.32.6/
2、RPM源碼包安裝步驟,好處便是在原有基礎上再進行編譯,更靈活。
# rpm -Uvh kernel-2.6.32.6-2.src.rpm
# rpmbuild -bp --target=$(arch) /usr/src/redhat/SPECS/kernel-2.6.32.6-2.spec
# cd /usr/src/redhat/BUILD/kernel-2.6.32.6-2
# vi Makefile <-- Change "EXTRAVERSION" to avoid kernel overwriting
# cp /lib/modules/2.6.32.6/build/.config .
# make menuconfig
# 重復第二步