Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Bonjour, je vous présente mon blog qui concerne le systeme d'exploitation GNU/LINUX. je vais traiter je l'éspère en detail certains paramètrages de LINUX . Je m'occupe aussi de l'administration system d'une association les pc's fonctionnent sous Ubuntu. Bonne lecture a toutes et tous.

Installer un noyau obtimisé sous ubuntu 6.10 (Edgy Eft)

Publié le 22 Mars 2007 par Sébastien SOURBET in tuxmag

Pour les utilisateurs d'Edgy Eft (6.10), il n'est pas nécessaire d'installer le noyau optimisé. En effet, le noyau générique remplace les noyaux optimisés pour les 686, 686 SMP, K7 et K7 SMP. Cependant, il se peut que dans certains cas (bug, accélération matérielle défaillante même avec les bons pilotes,...), il peut être nécessaire d'installer la version optimisée.

Qu'est-ce qu'un noyau ?

Le noyau Linux (appelé également le kernel) est le coeur de votre système Ubuntu. Le noyau s'occupe de la gestion du matériel (RAM, disque dur, carte graphique, carte son, ... bref, à peu près tout). Il contient également la base de tout système informatique, à savoir la gestion des processus, la gestion de la mémoire, la gestion de la mémoire swap, la gestion des entrées/sorties (clavier, carte son, USB,...) etc.

En bref, sans le noyau, votre système Ubuntu n'existerait pas.

Le noyau dépend de votre architecture système. En effet, le noyau Linux est composé de milliers de lignes de code source. Ce code source est écrit dans un langage intelligible pour un être humain (techniquement, cet humain est un « programmeur système », mais un humain tout de même).

Cependant, les différents processeurs du marché (ie. Intel, AMD, PowerPC, ...) ne comprennent pas le langage « humain » et le code source doit être traduit en langage machine, afin que le processeur puisse faire quelque chose de toutes ces lignes d'instructions. Cette traduction est appelée la compilation.

Le code source doit donc être traduit (compilé) pour le processeur. Mais, comme il existe de nombreuses sortes de processeurs, vous vous en doutez : ils ne parlent pas tous la même langue. Si vous avez un processeur compatible Intel (appelé communément « x86 »), le noyau sera compilé pour Intel. Si vous avez un processeur PowerPC, le noyau sera compilé pour PowerPC. Et ainsi de suite...

Lorsque vous avez installé Ubuntu, vous avez déjà choisi la famille de processeurs sur lequel le système d'exploitation allait tourner.

Pourquoi installer un noyau optimisé ?

Cependant, au sein d'une même famille de processeur, il existe plusieurs générations. Prenons comme exemple la famille de processeur Intel. Elle a débuté avec sa version 386, puis vint le 486, puis le Pentium I, et ainsi de suite, pour terminer dans les processeurs les plus récent comme les Xéon.

Chaque génération de processeur comprend le langage des générations précédentes, c'est la rétrocompatibilité. De même, afin de garantir une compatibilité maximale entre le plus grand nombre de processeurs d'une même famille, le noyau installé d'origine est prévu pour le processeur le plus ancien de la famille. Dans le cas des processeurs Intel, le processeur le plus ancien est le 386 et donc, le noyau Linux installé par défaut avec votre Ubuntu est compilé pour les processeurs 386.

Pour vous en convaincre, il suffit d'entrer la commande suivante dans un terminal :

uname -r

Vous obtiendrez quelque chose du genre :

2.6.12-9-386

Vous remarquez qu'il s'agit de la version de votre noyau (dans mon cas, le kernel 2.6.12-9) suivi du type de processeur pour lequel il est compilé (ici, 386).

Sachant tout cela, vous vous doutez de l'intérêt à utiliser un noyau optimisé : les processeurs ont fortement évolués depuis le 386. Ils se sont enrichis de nouvelles fonctionnalités au fil des générations. Cependant, pour utiliser ces nouvelles fonctions, il faut encore pouvoir parler avec elles, et donc, nous avons besoin d'un noyau compilé pour utiliser ces nouvelles fonctions.

 

Quel noyau optimisé choisir ?

Pour installer un noyau optimisé, encore faut-il connaître quel processeur vous possédez. Il s'agit de la première étape.

Pour connaître le processeur utilisé, il vous suffit d'entrer la commande suivante dans un terminal :

 

cat /proc/cpuinfo

Et vous obtenez quelque chose de similaire à ceci :

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Pentium(R) 4 CPU 3.20GHz
stepping        : 1
cpu MHz         : 3191.473
cache size      : 1024 KB
[...]
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
                    clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid cx16 xtpr
bogomips        : 6307.84
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Pentium(R) 4 CPU 3.20GHz
stepping        : 1
cpu MHz         : 3191.473
cache size      : 1024 KB
[...]
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor ds_cpl cid cx16 xtpr
bogomips        : 6373.37

Les lignes importantes sont le modèle du processeur et le nombre de processeurs. Ici, le modèle est indiqué par les lignes commençant par model_name et il y a deux processeurs.

Lorsque vous avez plus d'un processeur (ou un dual-core), il est préférable d'utiliser les noyaux de type smp (pour Symmetric Multi Processing) pour prendre en charge l'ensemble des processeurs.

Voici un petit tableau vous permettant de choisir le noyau qui vous convient le mieux :

 

Version Modèle de processeur Noyau pour processeur simple Noyau pour processeurs multiples
i386 Intel 386 (ou si vous avez un doute) linux-386 -
i386 Intel 486 / Pentium linux-386 -
i686 Intel Pentium Pro / Celeron / Pentium II / Pentium III / Pentium IV / Xeon / Pentium M / Core Duo linux-686 linux-686-smp
k7 AMD Duron / Athlon XP / Sempron / AMD (mode 32 bits) Athlon 64 / Athlon FX / Opteron / mobile AMD Athlon MP-M linux-k7 linux-k7-smp
amd64 AMD (mode 64 bits) Athlon 64 / Athlon FX / Opteron / linux-amd64-k8 linux-amd64-k8-smp
amd64 Intel Xeon DP linux-amd64-xeon -
powerpc IBM/Motorola/Freescale PowerPC (G3 / G4) linux-powerpc linux-powerpc-smp
powerpc IBM/Motorola/Freescale PowerPC 64 (G5) - linux-powerpc64-smp

 

 

Comment installer un noyau optimisé ?

Pour installer le noyau optimisé, deux solutions s'offrent à vous :

  1. Le cas général pour 99% des utilisateurs : vous souhaitez toujours avoir le dernier noyau disponible installé sur votre machine et vous n'avez aucun module spécial installé. Dans ce cas, optez pour les paquets de type linux-X. Si vous avez un doute, utilisez cette technique.
  2. Le cas particulier : vous avez compilé des modules particulier (comme dans le cas des modules DRBD). Il vaut mieux éviter les mises à jour automatiques pour ne pas empêcher vos modules personnalisés de fonctionner. Notez que vous devrez faire les mises à jour noyau manuellement en recompilant à chaque fois les modules particuliers. Dans ce cas, optez pour les paquets de type linux-image-2.X.Y-Z.

Si vous êtes un nouvel utilisateur de Linux, il y a énormément de chance pour que vous optiez pour la première solution ci-dessus. Dans ce cas, pour installer le noyau optimisé pour votre processeur, vous devez installer le paquet de la manière suivante (dans mon cas, PIV, 2 cpus) :

$ sudo apt-get install linux-686-smp

ou en utilisant Synaptic pour installer le paquet linux-686-smp.

Utilisez le tableau ci-dessus pour savoir quel noyau vous devez installer.

Une fois le noyau optimisé installé, afin que le serveur X ne plante pas lors du prochain démarage (c.f. nvidia), installez les restricted-modules de votre nouveau noyau:

$ sudo apt-get install linux-restricted-modules-$(uname -r)

ou en utilisant Synaptic pour installer le paquet linux-restricted-modules-$(uname -r).

Remarque : Normalement quand vous choisissez votre paquet linux-X dans synaptic, il vous est proposé l'installation des paquets qui en dépendent, il faut alors accepter et tout s'installera en une seul étape ! Et pas de plantage du serveur X !

Ensuite, vous devez redémarrer votre machine et choisir l'entrée correspondant au noyau optimisé dans le menu de GRUB (par défaut, le noyau optimisé sera choisi). Si vous avez des problèmes avec le noyau optimisé, démarrez GRUB en choisissant le noyau 386 et désinstallez le noyau optimisé (sudo apt-get remove linux-686-smp ou via Synaptic).

Si vous avez compilé des modules non-standard, il est préférable de ne pas utiliser les paquets de type linux-image. En effet, ceux-ci sont automatiquement liés au noyau le plus récent. Ce qui signifie qu'en cas de mise à jour (style apt-get update ou Tout mettre à jour dans Synaptic), un nouveau noyau sera installé.

Si vous avez compilé des modules particuliers, cela peut poser problème dans l'utilisation de modules compilés pour un noyau antérieur. C'est pour cela qu'il vaut mieux utiliser les paquets indiquant la version du noyau afin d'éviter les mauvaises surprises lors d'une mise à jour.

Pour connaître les noyaux optimisés disponibles, il vous suffit de faire une recherche dans Synaptic sur les termes linux-image ou en entrant la commande:

$ apt-cache search linux-image

À l'heure où j'écris ces quelques lignes, les noyaux x86 disponibles sont les suivants :

linux-image-2.6.12-10-386
linux-image-2.6.12-10-686
linux-image-2.6.12-10-686-smp
linux-image-2.6.12-10-k7
linux-image-2.6.12-10-k7-smp

Ce qui signifie que si je veux installer un noyau optimisé en évitant les futures mises à jour automatique, j'installe le paquet linux-image-2.6.12-10-686-smp (via Synaptic ou via apt-get).

Ainsi, le code suivant installe le noyau optimisé linux-image-686 :

$ sudo apt-get install linux-image-2.6.12-10-686-smp

Il est également nécessaire de redémarrer pour voir les changements (voir l'installation avec mise à jour automatique; partie concernant GRUB).

 

Commenter cet article