Sunday, March 29, 2009

Kernel Recompilation

Well, there are a lot of complicated steps we need to follow, and this is what I usually do:
0. yast -i ncurses-devel     #ensure ncurses-devel is installed  
1. make mrproper #clean config
2. cp /boot/config-x.x.x ./.config (or: cp /boot/config-`uname -r` ./.config)
3. make menuconfig (or: make oldconfig)

For normal steps:
4. make dep; make clean         #clean compilation
5. make bzImage
6. make modules
7. cp src/arch/i386/boot/bZimage /boot/vmlinuz-x.y.z
8. make modules_install
9. mkinitrd

For SUSE steps:
4. make rpm
5. Secure the backup:
cp /usr/lib/rpm/find-provides.ksyms /usr/lib/rpm/find-provides.ksyms.orig
cp /usr/lib/rpm/find-requires.ksyms /usr/lib/rpm/find-requires.ksyms.orig
cp /usr/lib/rpm/find-supplements.ksyms /usr/lib/rpm/find-supplements.ksyms.orig
6. Change "kernel-*)" to "kernel *)"
#kernel-*) is_kernel_package=1 ;;
kernel-*) is_kernel_package=1 ;;
7. -
8. rpm -ivh kernel-x.x.x.rpm
9. make initrd