...if , after you install (or on your already installed redhat machine) you :
cd /usr/src/
and there is a directory in there called linux (usually it points to the full version...ie :
================ example =====================
jhorvath@darkstar:~$
cd /usr/src
jhorvath@darkstar:/usr/src$
ls -l
total 1
lrwxrwxrwx 1 root root 12 Jul 6 13:06 linux -> linux-2.4.20/
drwxr-xr-x 14 root root 560 Jul 6 14:15 linux-2.4.20/
=============== end example ===================
(commands are in bold)
if yours returns something like that, than the kernel source code is already installed. if however you have a blank directory ..then your kernel source is not installed yet..and you either have to install it from the cd, or go to :
http://www.kernel.org
and download a version (the current *stable* version is 2.4.21)
also note...your listing may differ in that you may (probably) have a different version than mine listed above (2.4.20) ...the one provided with redhat 9 should suffice tho'.
so that takes care of where to *get* your *good* :) kernel for the athlon 2000+
as far as your *starting* place ...i'm not sure what you mean.
here's a walkthrough of what i would do on my machine running slack9 :
< assuming i have just finished installing (including kernel sources) and i am now logging into linux for the first time ....>
things i type are in BOLD
==================================================
dartstar login :
jhorvath
password :
***************
<system message goes here>
jhorvath@darkstar:~$
su
password :
***************
root@darkstar:/home/jhorvath/#
cd /usr/src/linux
root@darkstar:/usr/src/linux/#
cp .config ../ <-- here i copy the .config file because the next command cleans up and tries to delete it
root@darkstar:/usr/src/linux/#
make mrproper
<a bunch of messages ....>
root@darkstar:/usr/src/linux/#
mv ../.config . <-- that file i copied...move it back to here (/usr/src/linux)
root@darkstar:/usr/src/linux/#
make menuconfig
<this is where you *BUILD* your kernel ...deciding what goes in and what doesn't ..as long as you know your hardware ...you should be ok if something goes wrong when you reboot ...we'll have a backup :)>
<after we're done deciding what we want in the kernel we exit the menuconfig utility and save when it asks us to...(just hit escape from the top level of choices..it'll ask to save before quiting)>
root@darkstar:/usr/src/linux/#
make dep && make clean && make modules && make modules_install && make bzImage <-- that long as command line grabs any dependancies...cleans up object files ...builds the modules...installs the modules...then builds the kernel (it doesn't install it yet)
< after everything stops scrolling up the screen ....you have your prompt back...as long as there's no errors directly above it (withing 10 lines usually) your good (at least with building it...that doesn't mean it works yet:)
root@darkstar:/usr/src/linux/#
cp arch/i386/boot/bzImage /boot <- this copies the kernel to where we need it to be (well ...it can go anywhere really)
root@darkstar:/usr/src/linux/#
cd /boot
root@darkstar:/boot/#
cp vmlinuz vmlinuz.old <-- this backs up the *old* kernel (yours may be named differently ..we can find out what it is called and where its at by looking at the bootloader config { /etc/grub.conf OR /etc/lilo.conf }
root@darkstar:/boot/#
mv bzImage vmlinuz <-- here we setup the new kernel ...we rename it to vmlinuz (or whatever the old kernel was called so we only have to add the (vmlinuz.old) to our bootloader config)
<now this is where you edit your bootloader (i use lilo ..so that's what my example will be ...i believe redhat default to grub ..not sure tho' you can find what to add to grub somewhere on this site probably ...or just replicate whats already there but change the kernel name to reflect the ".old" we appended...>
...so my /etc/lilo.conf contains (somewhere in there) :
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_
image = /boot/vmlinuz
root = /dev/hda1
label = slack
read-only
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_
that is whats in there now *before* i edit it...that stuff above tells us that our kernel WAS/ or IS (if you're reading the config *BEFORE* building the kernel...would be wise just so you KNOW where to put it) , located in the directory '/boot' and is named 'vmlinuz'
the ROOT=/DEV/HDA1 tells the bootloader that the kernel resides on the first partition of the primary master hdd.
the LABEL is what is displayed when your bootload comes up (that menu that you see when you turn your computer on ...to pick which OS to boot into..)
and read-only is ...well.... read-only (that's fine)
NOW (this is fun eh? :) since above i renamed my bzImage to vmlinuz ...there's already an entry (above) to look for vmlinuz, exactly in the place i put it already..so nothing has to be done with what you see above. that will load the fresh compiled kernel WOOHOO...
however ..in order to go back to the old one (the one that for sure works)..we have to add an entry to the config telling it where the *old* kernel is..
now after editing my /etc/lilo.conf looks like:
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_
image = /boot/vmlinuz
root = /dev/hda1
label = slack
read-only
image = /boot/vmlinuz.old ***COMMENT ..remember we moved the *original to vmlinuz.old
root = /dev/hda1 ****COMMENT ...it's on the same hdd / partition
label = slack.old ****COMMENT ...have to change this ..can't be the same as aboves
read-only ****COMMENT this is still good
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_
(ignot those {****COMMENT'}s above :)
after we add that ...we save it
root@darkstar:/boot/#
lilo <-- lilo must be run again to update the changes...NOTE : if you're using lilo and you don't run the LILO command after making changes to /etc/lilo.conf ...the changes won't take place until you do ...it will still load whatever was originally in the file (the single VMLINUZ entry (which now points to our NEW kernel ...but the VMLINUZ.OLD (the backup one..) won't be seen {that is bad if we mess something up :) }
note :: as far as grub is concerned ..you'll have to look that up.. :) sorry , i'm a lilo man
after we've modified our configs and updated the bootloader...
REBOOT !!!!
sheesh...that was long as fsck. if i just confused the sh*t outta you...or bored you to death ...or made you feel like your two years old and can't read yet...i sincerely apologize...i was trying to be thorough :)
anyquestions :)