2012-10-01

[Linux]自己動手Build and Setup Linux kernel


這個範例是用CentOS 5.5來測試升級kernel到3.0~


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/v3.0/linux-3.0.tar.bz2
tar -jxvf linux-3.0.tar.bz2
ln -s linux-3.0 linux
cd linux


3. 利用舊的kernel config來build kernel
cp /boot/config-`uname -r` /usr/src/linux/.config
cd /usr/src/linux
make menuconfig
在 'General Setup' 選取
'enable deprecated sysfs features to support old userspace tools'
不選的話會在開機過程 switchroot 的時候 fail, 選取之後 save config


4. build kernel
make rpm
如果過程沒問題的話, 等一段時間後 rpm 會被做出來,
完成後,看最後.rpm會被存到哪裡,記下來,下一步驟要安裝它


5. install kernel
rpm -ihv /root/rpmbuild/RPMS/i386/kernel-3.0.0-1.i386.rpm


6. build initrd image and Configuring GRUB
new-kernel-pkg --mkinitrd --depmod --install 3.0.0
執行完new-kernel-pkg命令後, 在/boot下會產生img檔initrd-3.0.0.img.
同時/etc/grub.conf中增加了新核心的啟動項, 記得檢查新kernel中的root=LABEL=/ , 要改成 root=[自己的根路徑] (EX:/dev/hda7),否則重開後會有錯誤.


7.Final step
reboot your system and choose the new kernel in the grub menu.

沒有留言:

張貼留言