By Maladjez at 2007-03-26 17:53
Note: orders are marked with ''. I used the kernel version 220.127.116.11-34 implemented in my OpenSuse 10.2 distribution. You'll have to change the directory names to your kernel.
1. Kernel Configuration
Login as root on the (bash) shell.
First "clone" the config file of the kernel in use to make clear that the system will keep working with this original kernel:
'zcat /proc/config.gz > .config'
then a new kernel directory has to be created:
'mv linux-18.104.22.168-34 linux-22.214.171.124-nopreemptsmp'
Next the kernel configuration has to be changed via
'make xconfig' (or 'make menueconfig')
Change the PEEMPT and SMP settings:
Processor type and features --->
Preemption Mode (Complete Preemption (Real-Time)) --->
(x) No Forced Preemption (Server)
( ) Voluntary Kernel Preemption (Desktop)
( ) Preemptible Kernel (Low-Latency Desktop)
( ) Complete Preemption (Real-Time)
[ ] Symmetric multi-processing support
Keep the other settings as they are ...
First "save" ant then "Exit" die GUI.
2. Compile and install the new kernel
Now the kernel with the new settings will be compiled and the modules installed:
'make && make modules_install'
This can take a while with this cloned kernel (ca. 35 bis 45min.).
When finished, copy the kernel (see later) to /boot (we use the name defined above). Der original kernel won't be touched, so don't panic! If the boot fails, the old kernel ist still there and can be used in case of trouble with the new kernel.
'cp arch/i386/boot/bzImage /boot/vmlinuz-126.96.36.199-nopreemptsmp'
'cp System.map /boot/System.map-188.8.131.52-nopreemptsmp'
A initrd is also needed:
'mkinitrd -k vmlinuz-184.108.40.206-nopreemptsmp -i initrd-220.127.116.11-nopreemptsmp'
3. Manipulating the bootloader
At least a setting is added to the bootloader, here GRUB:
'vi /boot/grub/menu.lst', oder (bash) or open the file with kwrite under KDE.
We'll have to copy and edit the area of the old kernel to the new kernel und initrd:
###New kernel cloned from the original kernel, new name: linux-18.104.22.168-nopreemptsmp###
title openSUSE 10.2 -- nopreemptsmp
kernel /boot/vmlinuz-22.214.171.124-nopreemptsmp root=/dev/sda2 vga=0x317 resume=/dev/sda2 splash=silent showopts
Note: customize this to your system and do not copy&paste it without control!
With YAST (if you use OpenSuse) you may start with this new kernel as "Default", ant then:
pray & boot :-))
used source: http://gimpel.gi.funpic.de/Howtos/RTP_kernel
(with own adjustments to our needs)
This HowTo was made by Maladjez. It can be used for free, but the author grants no warranty. You can use it on your own risk.
Please do not modify this without my permission!