First we are going to make a new directory to work with. I did this in my home folder.
mkdir ~/linux
Next download the 2.6.28 kernel to this folder. When that is finished, unarchive it with:
tar -xjvf linux-2.6.28.tar.bz2
cd linux-2.6.28
Now to make the config file. (Notice that the $ before the pre is not actually typed, this indicates your regular user shell, while # means root shell)
$ make xconfig
Now we run:
$ make
Go get some coffee, this may take some time.
Now for the moment you’ve been waiting for, we get to become root! Under root, run:
# make modules_install
Better safe than sorry – just to be sure of the version, run:
# make kernelversion
Which should output 2.6.28. If it did, great, move on. If not…you messed up, sorry, do not pass go, do not collect $200.
I am not going to go in depth into the following commands, it’s just copying stuff to other places, pretty self explanatory. If you don’t know what’s going on, that’s OK just follow along.
# cd .. # cp -R linux-2.6.28 /usr/src # cd /usr/src # rm linux # ln -s linux-2.6.28 linux # cd linux # cp System.map /boot/System.map-2.6.28 # cp .config /boot/config-2.6.28 # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.28
Okay, now that all the copying is done, we need to configure lilo to boot into our new kernel.
# vim /etc/lilo.conf
Add this above # Linux bootable partition config begins:
image = /boot/vmlinuz-2.6.28 root = /dev/sda1 initrd = /boot/initrd-2.6.28.gz label = SlackwareNew read-only
Note: your “root = ” may not be /dev/sda1. Copy whatever it is in the existing “Linux” “root” under what you are currently typing.
And change the existing:
image = /boot/vmlinuz
To:
image = boot/vmlinuz-old
Now save and exit lilo.conf (if you don’t know how, google vim)
Next, follow this list of commands:
# /sbin/lilo # cd /boot # mv System.map System.map-old # mv config config-old # mv vmlinuz vmlinuz-old # mkinitrd -c -k 2.6.28 -m mbcache:jbd:ext3 -f ext3 -r /dev/sda1 -o /boot/initrd-2.6.28.gz
In that last command, replace anything you need to. Get more info with:
vim /boot/README.initrd
Now run:
lilo -v
Reboot and cross your fingers!