I simply streamlined SuSE's kernel
1. install kernell sources use YoU for 2.6.11.4 or download sources for kernel.org
I suggest for first timer to use SuSE kernel, it has specific patches that makes easier to work with (e.g. patched with subfs which you would have to add later)
2. make list of your current hardware, do not leave stuff you will use "in the future", you can always re-build kernel later
3. cp /boot/config-x-default /usr/src/linux-x-default/.config
x is kernel version and note that . (dot) in the config name copied to but not from
4. install gcc and ncurses-devel (if you will try menuconfig)
5. cd /usr/src/linux-x-default
6. make menuconfig
7. now this the part I can't help: configure kernel.
what is safe to remove without knowing your hardware:
for example you can remove: not used NICs, firewire, USB mass storage, (leave these you need obviously but you don't need all of it), ipv6, set preempt, your CPU instead of generic, if you have 32-bit and more than 1GB of RAM set limit (either 4 or 6GB), if you have 64-bit then this option is not available because there is no sane limit for RAM in 64-bit OS), if you don't use jfs or xfs of nfs you can remove these too,
8. If unsure what specific option means LEAVE IT!
9. save config
10. IMPORTANT:
edit .config and find:
CONFIG_LOCALVERSION="-default"
replace with
CONFIG_LOCALVERSION="-virgin"
anything you want but not "-default"
11. you can run compilation with specific flags, but first time simply try if it works at all:
make bzImage
make modules
make modules_install
you can run above in one line:
make bzImage && make modules && make modules_install
12. if everyting will go well install kernel:
make install
13. edit GRUB
- make install will replace symlinks for initrd and vmlinuz from default to the new kernel
That is o.k. but you need to adjust settings for default kernel otherwise it will not boot. You need default kernel because it works, while your fresh kernel may not
so under the entry for default kernel change the name of vmlinuz to vmlinuz-x-default and initrd to initrd-x-default (remember that x stands for the kernel version found in /boot)
you will find the exact names in /boot
After you re-boot you will see extra entry in the GRUB menu choice:
new kernel-new_name
select it. If you have done it right it will boot succesfully.... or not
If you have installed nvidia drivers before rebooting change xorg.conf driver entry from nvidia to nv
after succesful reboot to the new kernel re-install nvidia.
You should be fine even if a new kernel fail, simply boot to the old default and try again. All this is safe if you will remember to change names of the new kernel and also in the GRUB menu file.
If this "recipe" is not clear (may be) then read more about customizing kernel before trying it.
you can also (not related to kernel customization) add specific scheduler so OS will run better
Hope that it will help a little.