http://www.mandrakeuser.org/docs/install/kupgrade.html

MandrakeUser.Org - Your Mandrake-Linux Knowledge Base!

 
 

*DocIndex - Installation

Kernel Upgrade I

* Do You Need A New Kernel?
* Kernel RPMs
* Important Kernel Source Files

Related Resources:

Mdk Reference, 14
The Linux Kernel HOWTO
Kernel Notes
Docs in /usr/src/linux/ or /usr/doc/kernel-doc-[...]/
Article: Kernel Basics (LinuxPapers Group)

Revision / Modified: Sep. 18, 2001
Author: Tom Berger

 

* Do You Need A New Kernel?

Consider if you really need a new/recompiled kernel.

Reasons for recompiling or upgrading:

  • You need an exotic module that isn't covered by the default kernel. You can check this by reading '/usr/src/linux/arch/i386/defconfig', which contains the configuration file for the Linux-Mandrake standard kernel.

  • A new kernel release offers (improved) support for hard- or software you use. You can find out by reading the release notes for new kernels on Kernel Notes.

  • A new kernel release fixes security issues (e.g. Kernels up to 2.2.11 'featured' a nasty security hole in the TCP/IP stack). You might however also get a patch for your current release.

  • You want to get that Unix feeling ;-).

Reasons not to recompile or upgrade a running kernel:

  • Your hardware relies on binary-only drivers or modules. These are compiled against a specific kernel version. They perhaps won't work with a new release, since you can't recompile them. You will get error-messages like 'undefined reference to' or 'kernel-version-mismatch'.

  • You just want a faster machine. In my three years of GNU/Linux experience I've not yet encountered any remarkable speed-ups due to kernel recompilation. If you want a faster machine, buy better hardware.

  • 'Never change a winning team'. If you're happy with your current kernel, you don't have to upgrade or recompile. Some people out there still use kernels from the 1.x series. And if you keep up with M's development, you'll get a new kernel at least twice a year anyway with every new release (more often if you use the Freq. point releases).

On the other hand you can have multiple kernels: one proven production kernel and one or more kernels you want to try out. The important thing is not to mess up the old kernel while installing the new one.

* section index * top

* Kernel RPMs

Some software packages (you'll find the latest kernel RPMs on your favorite Cooker mirror):

This depends on your hardware and what do you want to do with your kernel and your system. Also keep in mind that if you have kernel-source/headers or whatever installed, you have to upgrade these packages along with the kernel-rpm or uninstall them before upgrading the kernel-rpm.

  • No compiling and no building of a custom kernel intended:

    Get: kernel-[...]rpm and kernel-doc-[...]rpm.
    If your system has more than one processor (CPU), you'll need the kernel-smp-[...]rpm instead.

  • Compiling intended but no building of a custom kernel

    Get: kernel-rpm, kernel-headers-rpm and kernel-doc-rpm.
    You'll need the kernel headers if you want to build software on your own. Since the headers-rpm is quite small, I'd suggest you should install it in any case. Most likely you'll need it one day.

  • Compiling and building intended

    Get: kernel-source-rpm and kernel-headers-rpm
    The source-rpm includes kernel-docs and is a quite large package (>100MB). You will also need to have the 'binutils' rpm installed (it is on your Mandrake CD).

Other kernel packages:

  • kernel22-[...]: These are the old 2.2.x kernels, for machines which have difficulties with the 2.4.x series.

  • kernel-enterprise: This kernel comes with options enabled for large enterprise servers (as in 'business' not as in 'starship' ;-)). i586 only.

  • kernel-linus: the kernel as released by Linus Torvalds (i.e. without the patches applied by M). i586 and Alpha only.

  • kernel-mosix: Kernel with the MOSIX patch (cluster computing). i586 only.

  • kernel-pcmcia-cs: needed for PC-Card (former PCMCIA) support on laptops.

  • kernel-secure: the GNU/Linux kernel with some patches for tighter security. Currently only available for the older 2.2.x kernel series.

  • kernel-smp-[...]: kernel packages for machines with more than one processor (Simultaneous Multi-Processing).

  • kernel-utils: contains kernel-related utilities. Only needed for the 2.2.x kernel series.

Note the kernel version scheme, which is [major release number].[minor release number].[patchlevel]. Kernels with an even minor release number (2.2.x, 2.4.x) are regarded as 'stable', whereas kernels with an uneven minor release number (2.3.x, 2.5.x) are 'development' kernels, which might be unstable or may even damage a system!

* section index * top

* Important Kernel Source Files

  • '/usr/src/linux/.config' contains the latest kernel configuration. If you don't have that file, you'll find the standard Mandrake kernel configuration file 'defconfig' in '/usr/src/linux/arch/[i386|ppc]/'. Some PPC machines have different default configuration files. These are stored in '/usr/src/linux/arch/ppc/configs/'.
  • '/usr/src/linux/Makefile' is the 'master' Makefile for kernel compilations. Here you can determine the name of your new kernel, the installation location, the default video mode etc.
  • '/usr/src/linux/Documentation/Configure.help' is the help file used during the configuration process with 'xconfig' or 'menuconfig'.

* section index * top

Now you should be prepared to do the actual kernel upgrade, either * by RPM or * from the source.

 
Legal: All texts on this site are covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2002.