Gestion de Kernel

Un article de Mille-Xterm.

Jump to: navigation, search

Le kernel est un noyau du système d'exploitation qui constitue la partie fondamentale de certains systèmes d'exploitation. Il gère les ressources de l'ordinateur et permet aux différents composants matériels et logiciels de communiquer entre eux.

En tant que partie du système d'exploitation, le noyau fournit des mécanismes d'abstraction du matériel, notamment de la mémoire, du (ou des) processeur(s), et des échanges d'informations entre logiciels et périphériques matériels. Le noyau autorise aussi diverses abstractions logicielles et facilite la communication entre les processus.


Pour connaître la version du kernel qui est utilisé, vous pouvez utiliser la commande suivante :
uname -r

Si vous désirez connaître quel sont les dernières version du kernel vous pouvez consulter la page suivante : kernel.org

Installation de Kernel

Vous trouverez la documentation nécessaire pour installer un nouveau kernel sur un système Mandriva à la page suivante : http://www.mandriva.com/security/kernelupdate

Présentement sur nos serveur blade nous utilisons le kernel suivant : http://rpms.mandrivaclub.com/rpms/mandriva/official/10.1/i586/media/main/kernel-i586-up-1GB-2.6.8.1.12mdk-1-1mdk.i586.html

Références : Mandrake Soft - Kernel Update

Recompilation de Kernel

Téléchargement du kernel

  • Lire ici
  • Télécharger le kernel approprié ici

Configuration du kernel

note: suivre la section appropriée seulement. "configuring 2.4x kernel" ou "configuring 2.6x kernel". Il faut noter que l'étape de la configuration du kernel est très importante et à ne pas faire "à l'aveuglette". Il faut veiller à ce que tout ce dont notre système a besoin soit ajouté au kernel, en "module" ou en "dur". Il est cependant essentiel de mettre le "support du ext3" en dur dans le kernel puisque celui-ci a besoin du système de fichiers pour charger les modules.

En plus de configurer votre kernel de facon graphique ou en répondant à des questions ligne par ligne, vous pouvez directement éditer le fichier .config se trouvant dans le répertoire linux-2.X.X.X que vous avez créé. Assurez vous donc que les lignes suivantes du fichier .config soient à Yes (y) et non à Module (m) :

CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y

Compilation du kernel

  • Lire ici et suivre jusqu'à la fin

Démarrer sur le kernel compilé Veillez à bien configurer grub ( /etc/grub.conf ) afin qu'il prenne en compte le kernel que vous venez de compiler. Pour écrire correctement les configurations du nouveau kernel dans grub.conf, prenez exemple sur la section de grub.conf qui concerne le kernel déjà fonctionnel.

voici deux exemples de fichiers grub.conf qui contiennent les configurations nécéssaires pour démarrer sur deux kernels (dont un a été compilé manuellement).

default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.11.6)
       root (hd0,0)
       kernel /vmlinuz-2.6.11.6 ro root=LABEL=/
       initrd /initrd-2.6.11.6.img

title Red Hat Linux (2.4.20-8)
       root (hd0,0)
       kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
       initrd /initrd-2.4.20-8.img
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.9-1.667)
       root (hd0,0)
       kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
       initrd /initrd-2.6.9-1.667.img

title TesT KerneL (2.6.11.6g)
       root (hd0,0)
       kernel /bzImage-2.6.11.6g ro root=/dev/VolGroup00/LogVol00 rhgb quiet
       initrd /initrd-2.6.11.6g.img

Il semble que root=LABEL=/ fonctionne parfois, et d'autre fois non. Par exemple sur Redhat 9 cela fonctionnait mais sur FedoraCore3 il fallait absolument mettre root=/dev/VolGroup00/LogVol00 rhgb quiet. Quoi qu'il en soit, il est toujours préférable de prendre exemple sur la section de grub.conf qui concerne le kernel qui fonctionne déjà sur le système. Pour de plus amples informations, visiter le site de grub ou bien taper la commande suivante dans une console: $ info grub

Sources :

http://www.mandriva.com/security/kernelupdate