From Mageia wiki
Jump to: navigation, search


This page is a draft. It requires improvements.

If you want to improve it, simply log in and click on the edit tab.
Please remove this {{Draft}} template, when you're sure the page is complete and correct.

View the other draft pages

View all other pages to improve and maintain.


The kernel is the main code that is used by the computer. It is the interface between the applications and the hardware like the memory, the CPU or storage devices. It is loaded at start before any application.

Wikipedia says :

"In computing, the kernel is a computer program that manages input/output requests from software, and translates them into data processing instructions for the central processing unit and other electronic components of a computer. The kernel is a fundamental part of a modern computer's operating system."

The first kernel was written by Linus Torvalds at 90's begin. It is yet worked by hundreds developers across the world.

Mageia is provided with different kernels according to your hardware or your preferences. At installation, the installer choose one according to which hardware it founds. After the installation, you choose and install a different kernel according to your taste.

About your kernel

If you want to know which kernel you computer is using, launch "Mageia Welcome" (Menu->Tools), and you can check:

Or with a console:

Konsole.png
[user@computer ~]$ uname -a
[user@computer ~]$ _

You get something like:

Linux localhost 3.12.13-desktop-2.mga4 #1 SMP Sun Feb 23 00:16:54 UTC 2014 i686 i686 i686 GNU/Linux

The indication 3.12.13 matches to the kernel release, and desktop to the flavour as explained bottom.

To know which kernels are installed, you can use in console:

Konsole.png
[user@computer ~]$ rpm -qa | grep ^kernel
[user@computer ~]$ _

which lists all packages starting with "kernel". the -devel package contains tools for building modules according to the kernel version. Such modules are graphical drivers or virtualization tools.

When more than one kernel is installed, you can choose which one to boot on with the bootloader interface, which propose a line for each installed kernel. When a kernel is updated, the bootloader use the new version by default. If this one can not boot the box, then you can try an older which is on another line.

As you checked that the new version is fine, you can uninstall the previous version.

Default kernels

Three flavours are used at installation. Each flavour is available for 32 bits (i586) or 64 bits (x86_64) architectures.

kernel-desktop

This kernel is issued from a stable branch which receives patches from Mageia team.

Optimised for i686, multi-core (SMP).

This kernel is the default one, except if:

  • your hardware has more than 3.8 Gb and you chose a 32 bits architecture,
  • you have a server hardware.

kernel-server

Optimized for i686, multi-core (SMP) and able to address up to 64 Gb memory. The Mageia installer selects it if your hardware has more than 3.8 Gb memory and you have a 32 bits architecture, or if it finds that your hardware is a server. Server hardware means if dmidecode reports special kinds of chassis only reported on most rackmounted servers.

This kernel is proposed with the same version as kernel-desktop

kernel-desktop586

This kernel is for processors with a unique core like pentium I (i586 architecture) and is able to address till 4 Gb memory.

This kernel is proposed with the same version as kernel-desktop

Other kernels

Thomas Backlund's kernels "tmb"

The above flavours are also available as tmb version, with a tmb-laptop in addition. Thus, we have:

  • tmb-desktop
  • tmb-desktop586 (no longer proposed since Mageia 5)
  • tmb-server (no longer proposed since Mageia 5)
  • tmb-laptop (no longer proposed since Mageia 5)

The -tmb kernels are little more "experimental" and have in addition to the above kernels:

  • Con Kolivas -ck patchset including BFS cpu/process scheduler
  • BFQ block scheduler
  • TuxOnIce suspend/resume support enabled in -laptop flavour
  • Reiser4 support
  • ...

kernel-linus

The linus version is a vanilla version of the linux kernel, without any of our patches (exceptionally there can be a patch for a critical bug)/

The release follows the uptodate "release candidates" from kernel.org and can provide support for recent features if not available in standard kernels.

kernel-joeghi

Since Mageia 6, we have this flavour proposed by Guiseppe Joeghi. This is an experimental kernel for Mageia GNU/Linux with *low latency*features. This kernel tries to incorporate some of external patchsets available for building Linux kernels with some kind of "real-time" or "low-latency" features.

Note this kernel differs from the current Mageia kernel-tmb's kernel by the fact that kernel-joeghi uses the Mageia "kernel-desktop" as starting point, then it tries to add further patchsets, some of which were not included in kernel-tmb. The optimum goal achievement would be to derive the SPEC file (as well the archive set) for this kernel almost "automatically" from the main Mageia (desktop) kernel by using some "magic" script. Note also that this kernel is not intended to be a replacement for kernel-tmb.

More can be found in the README

kernel-rt

Notepad.png
Please note!
This flavour is no longer proposed since Mageia 5

Kernel-rt - rt stands for realtime - is a flavour which adds rt patches which were initially written by Ingo Molnar and a specialised group. It uses a standard kernel with only the rt patch. Sometimes some additional hw support and CVE fixes gets added.

The goal of these patches is to improve latency, and it is especially useful with applications such as digital audio workstations. It allows to lower the number of samples per periods and the number of periods per buffer in jack. With the same settings on a regular kernel you would get xruns all the time but with with the rt kernel it's usable. To get jack working without crackles with a regular kernel you need to have settings so high that it's like you're using a slapback delay all the time. It also has other use cases where realtime is desirable.

kernel-vserver

Notepad.png
Please note!
This flavour is no longer proposed since Mageia 5

This is a virualization platform kernel.


"Linux-VServer provides virtualization for GNU/Linux systems. This is accomplished by kernel level isolation. It allows to run multiple virtual units at once. Those units are sufficiently isolated to guarantee the required security, but utilize available resources efficiently, as they run on the same kernel."