The Linux Kernel/Updating

From Wikibooks, open books for an open world
< The Linux Kernel
Jump to: navigation, search

In 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[edit]

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[edit]

  • Download kernel from http://www.kernel.org (via HTTP, FTP, RSYNC)
  • make menuconfig (or make 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[edit]

  • 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[edit]