Picking the Kernel thats Right for You (Possible Speed Increase)

Disclaimer

This section is about messing with the kernel and that can be tricky business. Has never messed up for me, but it is a little nerdy. Look here if you want to learn and maybe get a speed boast (or if you have a dual core/dual processor/hyperthreading machine because you WILL get a performance boost). Use at you own risk, I am not a kernel developer or anything.

Be sure not to install the linux-image package instead or things will probably break! If you have done that just install the correct package and things will fix themselves.

***********************

Introduction

I have noticed some recent confusion in the forum when it comes to kernels, so I want to explain some things I have discovered. I hope it helps.

So you just installed Ubuntu but you don't think its going as fast as you think it should? Maybe you have just been advised to install a new kernel so you want to know more.

In Synaptic, if you search for “linux-image” you will find many kernels. Each its follows by some numbers and letters in some order. I will now explain those differences and what each means.

Notes:

- This guide does not apply to the PPC or 64 bit version of Ubuntu.

- If you have a heavily modified setup this might not work. For example if you have installed some drivers "by hand" and not from the repositories.

- Its hard to measure the speed increase, so if in doubt leave it out. Don't follow the guide if you are uncomfortable

- You can always boot back into you old kernel if things mess up. When the OS Menu appears at boot (called the Grub menu) just hit down and then hit enter on the first line with a "386" in it. You might have to hit the ESC key when you boot to pull up this menu.

- My steps will rewite your grub, so if you have a custom grub save it somewhere.

The Many Kinds of Kernels

386 – the default kernel in Ubuntu is the 386 kernel (but I hear its really a 486 kernel). What that means is that its the most compatible kernel because it supports the oldest tech. Here is wiki page to learn more:

http://en.wikipedia.org/wiki/Intel_80386

686 – The kernel that is recommended for use with any Intel Processors in a computer that are more recent then a Pentium Pro. So even old Pentium 2s and 3s can get in on the act. Installing this kernel with may improve performance.

http://en.wikipedia.org/wiki/Pentium_Pro

k7 – This kernel is recommended for a computer with a Athlon or newer AMD CPU. New 64 bit AMD cpus can use it as well if you have the 32 bit version of Ubuntu installed. Installing this kernel with may improve performance.

http://en.wikipedia.org/wiki/Athlon

smp – This kernel is NEEDED to use both CPUs in a multi-CPU setting. The kernel is also required to “enable” hyperthreading in modern Pentium 4 CPUs. Also needed for dual core processors (the letters stand for Symmetric Multiprocessing). Very important to install this, as it WILL improve performance. Sorry to bold it but I think this one is the most important.

http://en.wikipedia.org/wiki/Symmetric_multiprocessing

How to Install New Kernels

You need to install the file below as indicated:

For a modern Pentium 2+ (686) kernel:

Quote:
sudo apt-get install linux-686
For a modern Pentium 2+ kernel for dual processors, dual cores, or hyperthreading:

Quote:
sudo apt-get install linux-686-smp
For a Athlon (k7) or for a Athlon 64 (with 32 bit Ubuntu) kernel.

Quote:
sudo apt-get install linux-k7
For a Athlon (k7) kernel for dual processors or dual cores:

Quote:
sudo apt-get install linux-k7-smp
Conclusion

I wish you the best of luck and please post comments if you notice any improvements or any problems.

Note About Nvidia

The Nvidia driver is not an open source driver. It is "restricted" because of that fact.

Therefore the actual official Nvidia driver's kernel module (the part that interacts with the kernel to make it work) is in the restricted package. If you follow my guide those packages should be installed automatically (they are for me) but they don't for legacy cards. If you have a Nvidia card older than a Geforce 3 (except maybe the Geforce 2 MX) you have to install the legacy drivers.

Every time you switch to another kernel you have to reinstall the nvidia drivers for that specific kernel if you have used the nvidia installer.

OR

If you use the drivers from the repos then you will need the restricted modules for your kernel (only the ones for the i386 kernel are installed by default). If apt-get did not install these automatically with my guide you MUST do it! In other words, boot as usual, and if you are stuck to the command line type:


Quote:
sudo apt-get install linux-restricted-modules-`uname -r`
OR (if you use the nvidia legacy drivers)

Quote:
sudo apt-get install linux-restricted-modules-`uname -r`-nvidia-legacy
__________________
Quote:
Those folks who try to impose analog rules on digital content will find themselves on the wrong side of the tidal wave.
- Mark Shuttleworth

Clicky Web Analytics