Say you've got your linux system nice and running..
And all of a sudden you surf a site like this
and you seen oh.no!!! A new linux kernel... I just configured my kernel to my liking..

You download the thirty fourty odd megs.. and are stuck with a file..
linux-2.x.x.tar.x
the x's are version numbers and filetypes, wich I'll discuss in a while..
now what to do:


Move (or copy) the file to /usr/src

There untar it.. two options..  linux-2.x.x.tar.bz2 or linux-2.x.x.tar.gz

If you have the bz2 edition and a fairly new linux distro..
type: tar xjvf linux-2.x.x.tar.bz2

Else type: tar xzvf linux-2.x.x.tar.gz

Now that the file is unpackt, you'll need to link it to the
/usr/src/linux..

If there is a link present from a former kernel (the one you are running
now) remove it..

rm linux

Now that does sound scary !!
So we'll link a new one.. (symbolic link)

ln -s linux-2.x.x linux

Let's step into that new linux folder

cd linux

We'd like to have the kernel more or less act the way the old (current)
one did..

cp ../linux-2.x.x/.config .

Note !! this time the .x.x points to the old one (propably 2.4.2x)

How will the kernel be able to do something with the old .config ?

make oldconfig

This asks a couple of questions about the NEW features and automaticaly takes over the setting your old kernel had for the other things..

make menuconfig
or
make xconfig

To check out the kernel configuration.
And perhaps do some modifications..

Now, if it's a kernel in the 2.4.x range, you'll have to make the dependencies..
make dep
The 2.6.x range does this automagicaly ;)

It's compile time..
make bzImage modules -j3 && make modules_install install
This last line makes the modules, installs them and installs the kernel..

That is, if you are using lilo and have your /etc/lilo.conf configured the right way..

If you are using some other bootmanager, then make bzImage might be a better idea then make install

Well that's all for this quick and dirty kernel update tutorial..

reboot