Kernel: Information and Installation instructions


First, it's recommended to have a rescue disk, for whatever happens..
The kernel installation may look compilcated, but in the second / third time it'll be realy easy for you.
Information
The Kernel is the main part of Linux (Some people alias it as "The heart of Linux"), which controls everything in the computer: the hardware, the filesystems, the network protocols, etc.
In fact, Linux is just the kernel- all the other things are just additional programs.
Usually a new kernel is made once per some weeks, and it's recommended to install it because it contains bug fixes & new hardware support, But you don't have to upgrade it all the time if everything works fine.
You can get the kernels from ftp://ftp.kernel.org (or ftp://ftp.xx.kernel.org while xx = your country's two letters name), In the directory: /pub/linux/kernel/v2.2/ (Right now 2.2 is the newest stable kernel). Download from that direcory the newest kernel that available.
Note: The kernel versions are divided to Stable & Unstable versions. A stable version is 2.x.y while x is an even number. For example, kernel 2.3.12 is unstable, and 2.2.12 is stable.

Modules
Think of a situation that you have already installed the kernel some weeks ago, and you bought a new soundcard. If you didn't use modules you would have to compile the whole kernel to get support to your soundcard. Modules are little drivers that can be added / removed without compiling the kernel and even without rebooting. To install module, choose "m" instead of "y" near your device in the configuration program (the conf. part will be explained later). Some devices don't support modules. You can load / remove modules (Only after you compiled them! will be also explained later) using the commands insmod / rmmod . To view the loaded modules use lsmod. (lsmod / insmod & rmmod are usually in the /sbin dir).

Extracting
Login as root, or use the command "su" to get root access. (Open a terminal window ofcourse). Chances are that your old kernel is in your /usr/src/linux directory. Rename it to /usr/src/linuxold or something, for a backup.
Now open the new kernel into /usr/src, it will open it to /usr/src/linux automatticly: Just stand in /usr/src, and type tar -xvzf /directory/linux-2.x.y.tar.gz

Configuration
Go to the /usr/src/linux dir. You probably use X, so type "make xconfig" to configure. If you don't use X, "make menu" (And get X already!!).
Choose there all your hardware / protocols / etc. Some important things that you probably have to choose:

Processor type -> Processor family (Choose you processor)
Loadable modules support -> Enable loadable module support, Kernel module loader (Important!)
General Setup -> PCI Support
Plug & Play -> Plug & Play support (Unfortunatly, most of the computers have some PnP devices)
Block Devices -> Floppy disk, IDE-ATAPI CDROM & Disk support.
Networking -> TCP/IP (For the internet & local nets)
Network Device Support -> PPP (To enable the internet PPP protocol) Filesystems -> DOS Support, VFAT Support, ISO9660 Support, MS-Joliet support (CDRom filesystems & Dos/windows filesystems)
Sound -> Sound support & Your soundcard (Unless you use an external module like OSS / Alsa)

When you finished configuring the kernel type "make dep" .

Installation
Just stand in the linux directory and, under superuser / root account, run:
make bzImage (Compiles the kernel)
make bzlilo (updates "Lilo" with the new kernel)

To create the modules run "make modules" and then "make modules_install".

That's it, Just reboot and the new kernel should work.
* Sometimes you will see that linux still uses the old kernel (Check it by "uname -r"). If it does, change the field "image" in /etc/lilo.conf to the right path of the new vmlinuz that was created. Usually /vmlinuz . then update lilo by running /sbin/lilo .


This document was written by Mar_Garina, 21 Oct 1999.