The Linux Kernel/Updating
< The Linux KernelIn order to update the kernel, you need to have knowledge of the hardware on your system, or have a prepared .config file compatible with the new kernel.
Reasons for updating
The Linux kernel is an active interface between the hardware and the operating system. All Linux operating systems have a kernel. After sometime the kernel may become out of date, or you (the user) may require additional functionality that the current kernel cannot provide. So a kernel update/upgrade is required.
Quick reference
- Download kernel from http://www.kernel.org (via HTTP, FTP, RSYNC)
-
make menuconfig
(ormake xconfig
) -
make
-
cp /usr/src/<linuxkernel>/arch/i386/boot/bzImage /boot/vmlinuz-<kernel version>
- edit your w:bootloader (ie. GRUB or LILO) configurations, adding a new boot option which points to the new kernel.
Updating the kernel
- Download kernel
To start going to the kernel website located at http://www.kernel.org/ via HTTP, FTP, or RSYNC
wget ftp://ftp.kernel.org/pub/linux/kernel/VERSION/FILE
...where VERSION
is a kernel version
(like v2.4 or v2.6) and where FILE
is an archive in tar.gz or tar.bz2 format: (linux-2.4.32.tar.bz2 (30.4 MB) or linux-2.4.32.tar.gz (37.7 MB) or linux-2.6.14.tar.bz2 (38.2 MB) or linux-2.6.14.tar.gz (47 MB).
Here you can download complete kernels or kernel patches. On writing this article the most up to date kernel is 2.6.11.10. The 6 means that it is a stable release (even is stable, odd is unstable). So 2.5 would have been a testing kernel. The 10 refers to the version number for the current 2.6 kernel.
Depending on what kind of computer you have, you will probably want the most up-to-date version, so that it has the greatest support.
- Install the kernel
If you have downloaded a bz2 file
type: tar -xjvf filename.bz2 to unzip
If you have downloaded a gzip file use type: tar -xzvf filename.gz
To keep with file system convention this file should be untared (unziped) to /usr/src/, where all your source code should be stored.
- Compiling the Kernel
If you have an already existing .config file that is compatible with the current kernel you "can" copy that into this dir and run make menuconfig, but a fresh install would be advisable. type: make menuconfig
You will see that you have been given a menu that you can browse using your cursor keys and enter button.
In another prompt using the command lspci. You can see a list of the hardware on your computer. You want to make sure that the key components on that list are installed on your computer. Unfortunately this HOW-TO cannot tell you what to install, but reading the help pages provided will give useful advice.
After you have completed selecting the components for your kernel.
type: make
this will then compile your new kernel.
- Installing new kernel
If this has been completed with no errors
type cp /usr/src/<kernel-version>/arch/i386/boot/bzImage /boot/vmlinuz-kernel-version
be sure to keep your old kernel just in case something goes wrong.
Resources
- See http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html
- Linux Kernel How-To
- www.kernel.org - The Linux Kernel Archives, the official kernel repository