Kernel Compilation Howto

If the sources are already present on your system then you can start with step 1.

Step 3 is Vector Linux specific.

If they are not, you can get them from http://kernel.org and do the following to prepare the source for compilation.

"tar xvjpf linux-2.4.25.tar.bz2 -C /usr/src/"
"ln -sf /usr/src/linux-2.4.25 /usr/src/linux"


1 - "cd /usr/src/linux"
2 - "make mrproper"
3 - "cp /boot/.config ./"
4 - "make menuconfig" or "make xconfig" - whichever you prefer - menuconfig is text based and xconfig is gui
5 - now change the options you want to change
6 - exit and it will save the config.
7 - "make dep"
8 - "make bzImage && make modules && make modules_install" - the && means that the previous command must finish successfully before going on with the next - I do this so I don't have to sit around and watch it to start the compile for the modules and to install the modules.
9 - "mv /boot/vmlinuz /boot/vmlinuz.old" - this is in case it doesn't work
10 - "cp arch/i386/boot/bzImage /boot/vmlinuz"
11 - "cp System.map /boot/"
12 - "cp .config /boot/.config-custom" this way you can start with this if you upgrade your kernel in the future.
13 - "mcedit /etc/lilo.conf" copy the original linux section to the bottom and change the label to linuxold and the kernel to vmlinuz.old - save the file and exit

Here is a sample of a before and after snippet of the /etc/lilo.conf file:

---original---
image=/boot/vmlinuz
label=linux
root=/dev/hda2
read-only
---endoriginal---

---newadded---
#new kernel will use the existing entry
image=/boot/vmlinuz
label=linux
root=/dev/hda2
read-only
#
#old kernel has been changed to be accessible using this entry
image=/boot/vmlinuz.old
label=linuxold
root=/dev/hda2
read-only
---endnew---

the original is what was originally in the /etc/lilo.conf file and the newadded is what it looks like after the change.

14 - "lilo"
15 - "reboot" the new kernel will be the default and the old one will still be available if you encounter any problems with the new kernel.