Ok here's the deal...
I'm running RH7, previously with 2.2.16-22 and now with 2.4.22(I think), here is what I done:
(1) I downloaded the source file linux-2.4.22.tar.gz
(2) I created a folder @ /usr/src/linux-2.4.22
(3) Created a link from the above folder to /usr/src/linux
(4) unpaged the source in the /usr/src/linux-2.4.22 folder.
# I assume that for the next build, I link /usr/src/linux to the new build folder, allowing me to keep several versions on disk
This is where I started to get a little lost...
(5) I then went cd /usr/src/linux and done make xconfig
Guessed a little, realising now that I made at least a few bad choices.
(6) Once complete, chose "Save and Exit".
Didn't really have a clue what to do next, done some surfing and reading for answers before proceeding...
(7)Basically a file appeared @ /usr/src/linux/.config
This as far as I am led to believe contains the results/selections of the make xconfig script, and as such is used to build the custom kernel.
(8) Run the command: make dep clean
The screen filled with what seemed to be error after error.
Now I was really stuck, all my books and printouts seemed to go inot super technical mode now, and I was seriously lost, and concerned that my system would not boot, as I did not take any prequations prior to starting the build, hoping that if things went wrong, that I would be able to boot inot my newly installed SuSE installation on hdb.
(9)make bzImage (got this one straight from a book)
(10) From the same book as above, also done: make modules_install but nothing really much happened here apart from errors, or "nothing to do" messages. Was this step required?
At this point, I really didn't know if I had actually compiled/built anything yet, was unsure if perhaps I had comiled some source, that could perhaps at some point become part of this kernel. But anyway, I ventured on...
With referance to steps 9 and 10 above, they were both from a chapter in a book, dealing with kernel compilation, there was mention of a few other options/methods, one of which included "installing" the kernel and modifying the boot loader, I was not too keen on this, as I wanted to ensure that I could still boot into SuSe on the other drive.
(11) copied the file /usr/src/linux/arch/i386/boot/bzImage to /boot/vmlinuz-2.4.22
Thought it strange that it resided under an i386 folder, considering that I build it with options to suit an AMD K7 Athlon, perhaps someone here has an explination for this...
(12) I now modified Lilo, booted and to my surprise it actually did boot into 2.4.22
What I did notice during boo though, was a message stating that it would not locate or find module dependancies, also prior to rebooting the system, I noted that there was no /lib/modules/2.4.22 folder, however after the initial boot, this folder was created and resides alongside 2.2.16-22
On rebooting again, there was no such dependancy messages.
Is this normal, some info on this would be great.
Back to the mistakes that I know I made, the first one being that at some point during the building of the kernel, there was a warning messag stating that the kernel image was too large to fit on a boot floppy, I trust that this is a bad thing meaning that I have failed miserably in my attempts to configure a minimal build. the other bad thing, was during the selection for Hot Swap support, to which I chose no. Well I have a mouse/keyboard switch, to switch between two machines, and now when I switch to the other machine and back, I have no mouse control, something I'll fix at my next attempt.
The one good thing, and possibly the main reason for trying to build an updated kernel in the first place, was that I can now mount a reiserfs partition on my other drive, which I could not previously do.
So there you have it, 12 steps to build an updated and somewhat customised kernel, much of the work was indeed guess work, and I do admit to that, but I am pretty pleased with myself
What I am looking for from you Guru's are comments and indeed possibly explinations for the various steps above, possibly even suggestions for improvement etc.
Please don't flame me for giving what you may consider to be inaccurate information, this was not intended to be a step by step guid to building a kernel, but rather my account, of how I achieved it, with the hope that you guys/gals can clear up the mass of confusion that came with it.
Thanks for your time...