The Linux Kernel/Updating

From Wikibooks, open books for an open world
Jump to navigation Jump to 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 (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 via HTTP, FTP, or RSYNC


...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 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.