While the problem might be easily solved by making soft links pointing to appropriate kernel source directory or by doing some renaming etc. I reckon it's much beneficial in the long run if you learn how to compile and use the kernel yourself. Compiling the kernel, as hard as it may sound to someone with no programming background, is actually very simple, and I don't know jack shit about programming too. In fact 3 weeks ago like you I thought messing around with the kernel is probably a subject beyond my reach for the rest of my life.
If you've installed the kernel sources from your distro usually they''ll be in /usr/src/linux-<version> with a soft link "linux" pointing to it, it should always be pointing at the source of the kernel you're currently using because that's where the compiler will refer to when it needs kernel the source(headers).
Now cd into /usr/src/linux , open up MAKEFILE with add anything you like to EXTRAVERSION=, this will append to your kernel version, so for example if I'm compiling kernel 2.4.22 and specified EXTRAVERSION = -testkernel in the makefile, after I compiled it it'll be referenced as linux-2.4.22-testkernel.
Now to do the configuration quickly just use your current configuration file, which should be where your /boot/config points at. copy it to /usr/src/linux and rename it to say oldconfig.
now do a "make xconfig" in /usr/src/linux, then load configuration from file, enter oldconfig. At this point you can either save and quit or take a look at these kernel options if you prefer, most of the items will have a little help file associated with it. After you've saved and quit do:
make dep && make bzImage && make modules && make modules_install
then wait a while for it to compile, how long it's gonna take depends on your cpu and the number of modules and items you're compiling into the kernel. On my Athlon XP2000 it takes around 15-20 minutes(havent really timed it though) with most common items compiled as loadable modules. If something went wrong during the compilation or you want to start all over again fresh, do a "make mrproper", basically it'll clean up the kernel source to it's original state.
After it's done now all there left to do is installing it, if you use a distro like redhat (probaly also applies for mandrake, not sure about other distros) and are using the kernel source they provide, then you're in luck, just do
it will copy the appropriate files to the appropriate location then update your boot config files (lilo or grub) so you'll see it in the boot menu next time you boot.
otherwise you need to install it yourself, but don't worry that's only 2 minutes extra of simple work.
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.22-testkernel
That is for makefile example i mentioned before, change the 2.4.22-testkernel part to whatever your one is.
Also in /usr/src/linux , copy System.map and .config file to /boot and rename them to System.map-<version> config-<version> respectively, then change the soft link "System.map" and "config" so that it points to the ones you created instead(you can do this after you successfully booted with the new kernel), this is not essential but it's best to do them.
Now all there left to do is to update the bootloader configuration, depending on whether you're using grub or lilo you need to edit /boot/grub/grub.conf or /etc/lilo.conf.
just copy the entry used for your current kernel, for grub copy the part from the first "title" all the way down to just above the next "title", if there is one, then paste so you have another title entry, then change the kernel to the one you're gonna use. For lilo copy the image=/ part, and dont forget to run "lilo" after you finishing the file.
And that's it, you finished compiling your own kernel!
Last edited by Demonbane; 09-09-2003 at 03:13 PM.