Les noyaux optimisés. Ubuntu Dapper Drake 6.06
Le noyau Linux (appelé également le kernel) est le cœur 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.
Cependant, au sein d'une même famille de processeur s , il existe plusieurs générations. Prenons comme exemple la famille de processeur s 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 s comme les Xéon.
Chaque génération de processeur comprend le langage des générations précédentes, c'est la rétro compatibilité. 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é 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 elle, et donc, nous avons besoin d'un noyau compilé pour utiliser ces nouvelles fonctions.
Manuel Ubuntu Linux 143 www.ubuntu-fr.org
Pour installer un noyau optimisé, encore faut-il savoir 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.
Les po s
sesseurs d'un processeur Hyper Threading peuvent installer un noyau smp sans bogue.
Manuel Ubuntu Linux 144 www.ubuntu-fr.org
Voici un petit tableau vous permettant de choisir le noyau qui vous convient le mieux :
Version
i386 i386 i686
Modèle de processeur
Intel 386 (ou si vous avez un doute)
Intel 486 / Pentium
Intel Pentium Pro / Celeron / Pentium II / Pentium
III / Pentium IV / Xeon / Pentium M / AMD (mode
32 bits) Athlon 64 / Athlon FX / Opteron
Noyau pour processeur simple
linux-image-386 linux-image-386 linux-image-686
Noyau pour processeurs multiples
-
- linux-image-686smp k7 amd64 amd64 Intel Xeon DP powerpc
AMD Duron / Athlon XP / Sempron
AMD (mode 64 bits) Athlon 64 / Athlon FX /
Opteron
IBM/Motorola/Freescale PowerPC (G3 / G4) linux-image-k7 linux-imageamd64-k8 linux-imageamd64-xeon linux-imagepowerpc linux-image-k7smp linux-imageamd64-k8-smp
- powerpc powerpc powerpc
IBM/Motorola/Freescale PowerPC 64 (G5)
IBM Power 3
IBM Power 4
- linux-imagepower3 linux-imagepower4 linux-imagepowerpc-smp linux-imagepowerpc64-smp linux-imagepower3-smp linux-imagepower4-smp
Pour installer le noyau optimisé, deux solutions s'offrent à vous :
1. Vous n'avez pas de modules compilés spécialement pour le kernel (j'entends par là, modules nonstandard); alors, optez pour les paquets de type linux-image. Si vous avez un doute, utilisez cette technique.
2. Vous avez compilé des modules particuliers; alors, installez le kernel pour une version particulière, c'est-à-dire les paquets de type linux-image-2.X.Y-Z.
Si vous désirez installer tous les paquets nécessaires à votre configuration (graphique compris), je vous conseille d'installer non pas linux-image mais linux. Par exemple, pour un AMD Athlon XP, j'installe linux-
k7. L'installation sera plus longue car d'autres paquets seront installés mais cela vous évitera bien des problèmes. Si vous avez install é les derniers pilotes graphiques d'ATI vous risquez d'avoir à les r é installe r .
Manuel Ubuntu Linux 145 www.ubuntu-fr.org
Installation avec mise à jour automatique
Si vous êtes un nouvel utilisateur de Linux, il y a énormément de chance s 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-image-686-smp ou en utilisant Synaptic pour installer le paquet linux-image-686-smp.
Remarque : Si vous avez un dual boot avec Windows, l'installation du nouveau paquet va modifier votre menu de boot et risque de supprimer l'option W indows. Votre ancien fichier de boot a été renommé en
/boot/grub/menu.lst~ .
Remarque : Si vous installe z le noyau 686 et avez des problèmes au redémarrage de X, n'oubliez pas d'installer également les 'linux-restricted-modules-686'
.
sudo apt-get install linux-restricted-modules-686
Utilisez le tableau ci-dessus pour savoir quel noyau vous devez installer.
Une fois le noyau optimisé installé, 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-image-686-smp ou via Synaptic).
Installation sans mise à jour automatique du noyau
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
A 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 s , j'installe le paquet linux-image-2.6.12-10-686-smp (via Synaptic ou via apt-get).
Il est également nécessaire de redémarrer pour voir les changements (voir l'installation avec mise à jour automatique; partie concernant GRUB).
Manuel Ubuntu Linux 146 www.ubuntu-fr.org

Public link updated
The public link to your chat has been updated.