ToC Home Issues Hearts Links

Issue #3, July 2005

HOWTO: update kernel 2.6.12 to 2.6.12.3

Author: Grant Coady

Assumptions, you already gain much confidence running your own 2.4.latest kernel. 2.6 configuration is similar to 2.4 with many more options to choose (wade through). This section is brief as you have already conquered 2.4 series kernel build prior to trying 2.6 series, haven't you? You also have the /root/bin/installkernel [0] script installed and modified to your satisfaction.

Switch to your kernel build work area

$ cd /home/kernel/

Skip to 'Grab the kernel patch' if you already have a copy of the 2.6.12 source tree.

Obtain the 2.6.12 source from kernel.org and unpack it:

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2 # 36MB
$ tar xjf linux-2.6.12.tar.bz2

Grab the kernel patch:

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.12.3.gz # 9.5kB

Splice a copy of the source tree:

$ cp -al linux-2.6.12 linux-2.6.12.3

Patch 2.6.12 to 2.6.12.3:

$ cd linux-2.6.12.3
$ zcat ../patch-2.6.12.3.gz | patch -p1
...

Grab previous config file, or make menuconfig if first 2.6 kernel:

$ cp ../config-2.6.12.2 .config; make oldconfig

or

$ make help        # discover options
$ make menuconfig

Compile the new kernel, yes, just one word here:

$ make
...

Switch to super-user and edit /etc/lilo.conf, changing 2.6.12.2 to 2.6.12.3, or, if this is your first 2.6.12 series kernel, duplicate an existing kernel stanza and modify it to suit.

Run 'make install' to install new modules and kernel, when make install completes, expect to see:

# make install
...
* Writing new kernel files to /boot

* Running lilo...
Warning: COMPACT may conflict with LBA32 on some systems
Added 2.6.12.3 *                                           <<== what we want!
Added 2.4.31-hf2
Added 2.4.31a
Skipping /boot/bzImage-2.6.12.3.old
Skipping /boot/bzImage-2.4.31-hf2.old
Skipping /boot/bzImage-2.4.31a.old
Added Slack-2.4.31

# reboot

Selecting default boot kernel

We have a small problem, up until now each new kernel image stanza is inserted after the global section and becomes the default. If you want to change the default boot kernel, insert a 'default = <label>' line in /etc/lilo.conf:

# /etc/lilo.conf for slackware on silly
#
boot = /dev/hda
root = /dev/hda3
read-only
compact
prompt
timeout = 50

# vesa| 800x600 1024x768 1280x1024
# ---- -------- -------- ---------
# 256 |  0x303    0x305    0x307
# 32k |  0x313    0x316    0x319
# 64k |  0x314    0x317    0x31A
# 16M |  0x315    0x318    0x31B
vga = 0x303

default = 2.4.31-hf2                          <<== select default boot kernel

image = /boot/bzImage-2.6.12.3
  optional
  label = 2.6.12.3

image = /boot/bzImage-2.4.31-hf2
  optional
  label = 2.4.31-hf2

image = /boot/bzImage-2.4.31a
  optional
  label = 2.4.31a

image = /boot/bzImage-2.6.12.3.old             <<== optional previous kernels
  optional
  label = 2.6.12.3.old

image = /boot/bzImage-2.4.31-hf2.old
  optional
  label = 2.4.31-hf2.old

image = /boot/bzImage-2.4.31a.old
  optional
  label = 2.4.31a.old

image = /boot/vmlinuz-ide-2.4.31  <<== the distro kernel, when all else fails
  label = Slack-2.4.31

# end

[0] Get the script from here, or try the latest version from ftp://ftp.bugsplatter.mine.nu/scripts/installkernel.gz



BerliOS Logo