First, always keep your current known working kernel configured in your bootloader, that way if something goes wrong then you can always just boot back into it, abeit if your using kernel modules they will be replaced with the one you build when installing a kernel of the same version. This is generally not a problem so long as you do not remove something crucial.
Second, why are you wanting to stay with 2.4.21? As I recall, there have been a few security related fixes since then.
Third, until you become accustomed to what a feature does in the kernel, it's best to start with the config for your current kernel and build off that. That file is usually located in /boot along with your kernel. You'd copy it to the kernel source directory and name it .config so the kernel configuration program will find it.
The basic generic proceedure would be something like this:
1) unpack the kernel source (/usr/src is the accepted default place for it)
Code:
cd /usr/src
tar jxvf linux-2.4.21.tar.bz2
2) cd into the source directory
Code:
cd /usr/src/linux-2.4.21
3) Clean the source tree
4) Copy /boot/config-2.4.21 or whatever it's named on your system to the source tree as .config.
Code:
cp /boot/config-2.4.21 /usr/src/linux-2.4.21/.config
5) Run whichever configurator you want to use and add/remove whatever it is you wish to change.
6) Build dependancy files
7) Build the kernel image
8) Build the kernel modules
9) Install the kernel modules
Code:
make modules_install
10) Install the kernel, making sure the names below DO NOT overwrite any files already present in /boot. If they do then rename the below files to something else.
Code:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.21
cp System.map /boot/System.map-2.4.21
cp .config /boot/config-2.4.21
11) Add an entry to config file for whatever bootloader you are using.
I'm not familair with your specific OS, therefore I do not know what bootloader it uses. But generically, grub's is usually located at /boot/grub/menu.lst. Here's a portion of one with 2 kernels:
Code:
title LFS 6.0 (2.6.10)
root (hd0,1)
kernel /boot/linux-2.6.10 root=/dev/hda2
title LFS 6.0
root (hd0,1)
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda2
Your's will be different, but you should get the idea. The first 1 listed is the default one that will be booted if there is no user intervention to select one.
For lilo, the config file is usually at /etc/lilo.conf & the relevant portion would be something like this:
Code:
image = /boot/vmlinuz-2.6.1
root = /dev/hda3
label = Linux-2.6.1
read-only
image = /boot/vmlinuz-2.4.26
root = /dev/hda3
label = Linux-2.4.26
Again 2 kernels, the first is the default. And with lilo, you must run "lilo" after editing the lilo.conf file in order to reinstall it.
The above are just general instructions for compiling a 2.4.x series kernel. Your distribution may have another more specific proceedure. Hope this helps.