Building the Linux 2.4 Kernel

Verify

To verify the signature (and import the key in the last step above), you'll need to have GnuPG (http://www.gnupg.org) already installed. See http://www.kernel.org/signature.html for full instructions, but essentially once you've got GnuPG set up and the correct key imported, the command you want to use is:

gpg --verify linux-2.x.y.tar.gz.sign linux-2.x.y.tar.gz

Unless you have taken explicit steps to build a trust path to the Linux Kernel Archives Verification Key, you should expect to see a warning message, which is ok. What you want to look for is something similiar to "Good signature from..."

Prerequisites

Make sure you have no stale .o files and dependencies lying around:
$ cd /usr/src/linux-2.4.x
$ make mrproper

Configure

$ make menuconfig

I would recommend the following, at a minimum:

Build

$ make dep
$ make clean
$ make bzImage
$ cp arch/i386/boot/bzImage /dos/vmlinuz

Boot

Suppose you actually want to be able to boot to your new shiny kernel? Forget about LILO; use Loadlin instead. I've had nothing but headaches with LILO as a boot manager. On the other hand, I've never had any issues with LOADLIN. Using Loadlin is simple and effective. The instructions are fairly straight-forward, so I won't go into the details. Make sure to copy your shiny new bzImage file to your dos partition, using DOS 8.3 naming syntax. The source for Loadlin is available at ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/lodlin16.tgz

Here's the two file configurations I use. The first is from CONFIG.SYS:

[menu]
menuitem=linux, Linux
menuitem=single, Linux (single user mode)
menuitem=dos
menucolor=15,1
menudefault=linux, 10

[linux]
[single]
[dos]

And here's the corresponding AUTOEXEC.BAT file:

@echo off
goto %config%

:linux
c:\loadlin.exe c:\vmlinuz root=/dev/sda5 ro
goto dos

:single
c:\loadlin.exe c:\vmlinuz root=/dev/sda5 ro single

:dos