Here are more detailed Instructions for Compiling the Kernel
Log in as root, and mount the CD you created with the patches on it.
mount /dev/cdrom
I like to work from one place, so I just copy everything to /usr/src
cp -r /mnt/cdrom/* /usr/src
Extract the Kernel source
cd /usr/src
tar -xzf ./linux-2.4.20.tar.gz
Copy Mark's patch into the /usr/src/linux-2.4.20 directory, then unpack it
cp ./patch-2.4.21-pre5-ac3-mhp3.bz2 ./linux-2.4.20/
cd linux-2.4.20
bunzip2 ./patch-2.4.21-pre5-ac3-mhp3.bz2
Apply the patch
patch -p1 < patch-2.4.21-pre5-ac3-mhp3
Remove the /usr/src/linux-2.4.20/include/asm directory and link it to /usr/src/linux-2.4.20/include/asm-i386
rm -rf ./include/asm
ln -s ./include/asm-i386 ./include/asm
(don't know yet why I need to do this, but things don't work if I don't)
Compile the Kernel: (see the howto at linux.org for an explanation of these steps)
make clean
make mrproper
make menuconfig
(optional) Once you are in menuconfig, go to the bottom of the list and select "Load an Alternate configuration from a file" In the dialog that opens up, type /usr/src/rob4.config
Note - If you don't want to use my config, just make sure you enable ACPI, and ISA PnP. I have also enabled PnP BIOS in this config. these are needed for the PCMCIA to work properly. (I am not 100% sure PnP BIOS is needed, but everything works great with it there) You will also need to enable support for the various hardware devices (sound, ethernet, any pcmcia cards you have, etc...)
press <esc> <esc> when you are done making changes in menuconfig, and say yes to save your configuration.
make dep
Give a unique name to your new Kernel
vim /usr/src/linux-2.4.20/Makefile and change the EXTRAVERSION entry to something you will recognise
press <alt> i to insert text, when you finish press <esc>, then the colon : key, then wq <enter> to save your changes
Make your Kernel image, and your modules
make bzImage
make modules
make modules_install
Copy the new kernel image to the boot partition
cp ./arch/i386/boot/bzImage /boot/bzImage.2.4.21-<Your Kernel Name> (whatever you put in EXTRAVERSION [step 8])
Copy .config to /boot
cp /usr/src/linux-2.4.20/.config /boot/config-2.4.21-<Your Kernel Name>
Make an Initial Ramdrive (Optional)
cd /boot
mkinitrd ./initrd-2.4.21-<Your Kernel Name>.img 2.4.21-<Your Kernel Name>
If you are unsure exactly what <Your Kernel Name> is, have a look in /lib/modules, there will be a directory there with the exact kernel name you should use
Edit /etc/grub.conf to boot with your new kernel
vim /etc/grub.conf
Add the entry for your new Kernel, it should look something like this:
title Red Hat Linux
(2.4.21-<Your Kernel Name>)
root (hd0,1)
kernel /bzImage-2.4.21-<Your
Kernel Name> ro
root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.21-<Your Kernel Name>.img
root(hd0,1): corresponds to /dev/hda2 which is my /boot partition --- Yours may be different. look at the entries already in grub.conf for your particular circumstances