January 12th, 2009

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!

Share:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • email
  • HackerNews
  • Reddit
  • Twitter