I like the suggestions just made to patch the kernel and make my own kernel source, and I may still try that. However, I did find a solution to my problem... I "downgraded" my kernel version to 2.4.20 (without xfs) and was able to boot and successfully compile... woo hoo!

Here are the steps...



You will need enough space for the entire kernel source (100 Meg or so), and 2) have to DL and decompress the source for 2.4.20 from here:
http://www.kernel.org/pub/linux/kern...2.4.20.tar.bz2

As root:

Unpack the sources into /usr/src/

Optional - You can copy the .config file from your old linux kernel source tree
to new kernel tree (may save time, if you want to reuse the old settings).

cp /usr/src/linux/.config /usr/src/newdirectory/.config

Delete the old symlink /usr/src/linux and create a new one
cd /usr/src/
rm linux
ln -s newdirectory linux

cd /usr/src/linux

make clean;
make mrproper

Note: before running "make menuconfig" you should have obtained a copy of your current config file from
/usr/src/linux/.config and read this into menuconfig rather than creating a
kernel from scratch.

If you opted NOT to do that, bless you, and... the following * are VERY
IMPORTANT and minimal requirements!!! :

*Select proper CPU type - Pentium 3, AMD K6, Cyrix, Pentium
4, Intel 386, DEC Alpha, PowerPC otherwise kernel compile will fail and even if
it compiles will not boot!!
*Select SMP support - whether single CPU or multiple
CPUs
*Filesystems - Select Windows95 Vfat, MSDOS, NTFS as part of kernel and not as
loadable modules. (My personal preference but you are free to pick your own
option).
*Enable the Loadable kernel modules support! With this option you can
load/unload the device drivers dynamically on running linux system on the fly.

Regardless of whether you used the previous .config file (highly recommended) or create your own, the next step you will do will be:

make menuconfig
make dep

Note: LOADABLE MODULES: next two steps required ONLY if you had enabled Loadable
module support in step 3 above. Loadable module are located in /lib/modules. You
MUST do this step if you enabled or disabled any modules, otherwise you will get
'unresolved symbols' errors during or after kernel boot. Check for insmod
command which is extensively used for loading the modules. You probably want to run them, but they are time intensive...

make modules
make modules_install (go balance checkbook)

make bzImage

Note: you can also create bzImage as follows:
bash# cd /usr/src/linux
bash# man nohup
bash# nohup make bzImage &
bash# man tail
bash# tail -f nohup.out (.... to monitor the progress)


This will put the kernel in /usr/src/linux/arch/i386/boot/bzImage
After bzImage is successful, copy the kernel image to /boot directory.
You must copy the new kernel image to /boot directory, otherwise the new kernel
MAY NOT boot.

cp /usr/src/linux/arch/i386/boot/bzImage /boot/2.4.20mar2103

make modules_install (go throw in a load of laundry)
make install

configure LILO or GRUB
vi /etc/lilo.conf and insert the following (or similar for your pc)
image=/boot/2.4.20mar2103
label=mykernel
root=/dev/hda5
read-only

run lilo command to read/write the new partion information

reboot and pray

Optional - run "make clean" (If you want to free up disk space)

Not a perfect or beautiful solution, but one in which I can say afterwards "I compiled my own custom kernel!" Hope this information is helpful,

Paul Knopp
with a name like Knoppix, it's got to be good...