It's really easy: 1. First, install the kernel-source.rpm --------------------------------------- 1.1. From your Installation Source You can just use the kernel on your installation source. Depends on what you want to do. If you like to test a specific patch this might be sufficient. 1.2. Get the latest SuSE Kernel You might want to make sure you have the latest sources of your product. Check here to get the very latest SUSE kernel, which is nearly the same as the last official Linus -rcX or even -gitX kernel: ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/ If you compile the kernel yourself and you get the kernel-source.rpm, the architecture does not really matter, it depends on which .config compile options file you use later. 1.3. Get the latest SuSE Kernel of your Product If you want to test the latest kernel of your specific product, try e.g.: ftp://ftp.suse.com/pub/projects/kernel/kotd/SL102_BRANCH/ ftp://ftp.suse.com/pub/projects/kernel/kotd/SLES10_SP1_BRANCH/ ftp://ftp.suse.com/pub/projects/kernel/kotd/SLES9_SP4_BRANCH/ These kernels (binary or source ones) contain the very latest bugfixes and check-ins. If you opened a bug on bugzilla.novell.com, people might ask you to test and verify whether things work for you now. 2. Optionally patch the Kernel ------------------------------ E.g. if you have been asked to test a specific modification, you should have receivced a patch file. This one simply marks which changes need to be done on the sources in plain text format. To apply the changes open a shell and do: - cd /usr/src/linux - patch --dry-run -p1 -i /tmp/path_to_the_file.patch - If above command worked out nice, do the same without the --dry-run option: patch -p1 -i /tmp/path_to_the_file.patch If above command threw any sever errors (offset can be ignored, fuzz mostly is harmless, everything else is sever) you have a problem. The done modifications do not exactly fit to the kernel version you installed. Ask the guy from whom you got the patch on which kernel version he exactly worked on. 3. Do the Compile and install the new Kernel -------------------------------------------- This can take more than half an hour, depends on your machine. Open a shell and do: - cd /usr/src/linux - cp arch/x86_64/defconfig.default .config #(e.g. to build a kernel for the x86_64 architecture with the "-default" flavour) - make (if you have a multi CPU core system you might want to pass -j X option, see man make) - If everything succeeded install the kernel and the modules: make install modules_install and create an initrd: cd /boot mkinitrd -k vmlinuz-2.6.X-default -i initrd-2.6.X-default - Open your boot loader configuration and let it load the newly installed kernel on next reboot (default: grub on i386/x86_64, elilo on IA64): vi /boot/grub/menu.lst Best is you add a new entry to have a your old kernel as fallback kernel if the newly compiled does not boot Also see "info grub" if you need more help