Friday, March 18, 2011

CentOS 5.5 自己 build kernel

由於CentOS 5.5的kernel實在太舊了 (Version 2.6.18-194, 沒記錯的話是 2007年2月)
紀錄一下升級kernel的步驟
1. 安裝build kernel所需的套件

#yum groupinstall “Development Tools” && yum install ncurses-devel


2. 抓取要使用的kernel source

#cd /usr/src
#wget “http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.35/linux-2.6.35.11.tar.bz2″
#bunzip2 linux-2.6.35.11.tar.bz2
#tar xf linux-2.6.35.11.tar
#ln -s linux-2.6.35.11 linux
#cd linux


3. 利用舊的kernel config來build kernel

#cp /boot/config-`uname -r` /usr/src/linux/.config
#cd /usr/src/linux
#make menuconfig

選取 'Load an alternate Configuration File' 將 .config load 進來

在 'General Setup' 選取
'enable deprecated sysfs features to support old userspace tools'

不選的話會在開機過程 switchroot 的時候 fail, 選取之後 save config


4. build kernel

#make rpm

如果過程沒問題的話, 等一段時間後 rpm 會被做出來,

5. install kernel

#rpm -ivh /usr/src/redhat/RPMS/i386/kernel-2.6.35.11-1.i386.rpm

rpm檔的名字不一定跟上面相同 (depend on 你的機器), 安裝完後我們檢查一下

#rpm -qa | grep -i kernel


6. build initrd image

#mkinitrd /boot/initrd-2.6.35.11.img 2.6.35.11


7. 修改 grub

#vim /boot/grub/menu.lst


剩下就不多說了

No comments: