Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
kernel_optimise [Le 18/12/2009, 02:41] 213.95.41.13 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Dapper Edgy kernel matériel}} | ||
- | ---- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ====== Les noyaux optimisés ====== | ||
- | |||
- | <note interdit>**Les utilisateurs des versions 6.10 et suivantes d'Ubuntu peuvent passer leur chemin. Les noyaux « optimisés » //n'existent plus//, et le noyau « generic » en tient lieu.**</note> | ||
- | |||
- | ===== Qu'est-ce qu'un noyau ? ===== | ||
- | |||
- | 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é ( Intel, AMD, PowerPC, etc.) 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écents comme les i7. | ||
- | |||
- | 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.18-4-386'' | ||
- | |||
- | Vous remarquez qu'il s'agit de la version de votre noyau (dans mon cas, le kernel ''2.6.18-4'') 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 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 connaitre 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 : | ||
- | |||
- | <file> | ||
- | 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 | ||
- | </file> | ||
- | |||
- | 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 / Turion / | 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 | | ||
- | |||
- | |||
- | |||
- | |||
- | <note warning>Les noyaux optimisés n'existent plus depuis Edgy</note> | ||
- | |||
- | ===== Comment installer un noyau optimisé ? ===== | ||
- | |||
- | Pour installer le noyau optimisé, deux solutions s'offrent à vous : | ||
- | - 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 [[:tutoriel:tout_savoir_sur_les_modules_linux|module]] spécial installé. Dans ce cas, optez pour les paquets de type //linux-X//. Si vous avez un doute, utilisez cette technique. | ||
- | - 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//. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== Installation avec mise à jour automatique (paquets linux-X) ==== | ||
- | |||
- | 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 [[:tutoriel:comment_installer_un_paquet|installer le paquet]] (dans mon cas, PIV, 2 cpus) **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 (cf. [[:nvidia]]), installez les //restricted-modules// de votre nouveau noyau en installant le paquet **linux-restricted-modules-$(uname -r)**. | ||
- | |||
- | <note>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 seule étape ! | ||
- | Et pas de plantage du serveur X !</note> | ||
- | |||
- | 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]]). | ||
- | |||
- | ==== Installation sans mise à jour automatique du noyau (paquets linux-image-2.X.Y-Z) ==== | ||
- | |||
- | 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: | ||
- | |||
- | <code> | ||
- | $ apt-cache search linux-image | ||
- | </code> | ||
- | |||
- | À l'heure où j'écris ces quelques lignes, les noyaux x86 disponibles sont les suivants : | ||
- | |||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | 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 : | ||
- | <code> | ||
- | $ sudo apt-get install linux-image-2.6.12-10-686-smp | ||
- | </code> | ||
- | |||
- | Il est également nécessaire de redémarrer pour voir les changements (voir l'installation avec mise à jour automatique; partie concernant GRUB). | ||
- | |||
- | ---- | ||
- | |||
- | //Contributeur : [[utilisateurs:ostaquet]]// |