Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| tutoriel:comment_compiler_un_kernel_sur_mesure [Le 17/01/2017, 19:59] – tags L'Africain | tutoriel:comment_compiler_un_kernel_sur_mesure [Le 16/02/2018, 12:57] (Version actuelle) – vétuste risque pour la sécurité. L'Africain | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | ||
| - | ---- | ||
| - | |||
| - | ====== Comment compiler un noyau sur mesure ? ====== | ||
| - | **ou //Comment personnaliser son noyau ?//** (On entend aussi souvent le mot anglais « kernel », qui signifie « noyau » en français) | ||
| - | <note important> | ||
| - | |||
| - | Dans la suite de ce didacticiel, | ||
| - | |||
| - | |||
| - | |||
| - | ====Avertissement==== | ||
| - | |||
| - | Compiler et utiliser un noyau personnalisé va rendre compliqué le support pour votre système. Vous ne serez pas autorisé à rapporter des bogues pour votre noyau personnalisé (ils seront rejetés sans explication). | ||
| - | |||
| - | Si vous avez un contrat de support commercial avec Ubuntu/ | ||
| - | |||
| - | Notez par ailleurs que cette page décrit comment procéder pour le noyau d' | ||
| - | |||
| - | Cette page **ne** décrit **pas** comment compiler les noyaux provenant de kernel.org. Elle est destinée aux sources du noyau Ubuntu. | ||
| - | |||
| - | ====Bonnes raisons de compiler un noyau personnalisé==== | ||
| - | |||
| - | * Vous êtes un développeur du noyau. | ||
| - | * Vous avez besoin de compiler d'une façon spéciale, que le noyau officiel n' | ||
| - | * Vous essayez de déboguer un problème (pour lequel il serait peut-être judicieux de remplir un rapport de bogue à propos du noyau officiel Ubuntu). | ||
| - | |||
| - | ====Mauvaises raisons de compiler un noyau personnalisé==== | ||
| - | |||
| - | * Vous avez à tout prix besoin de compiler un pilote spécial. Pour cela, il vous faut seulement installer les paquets linux-headers. | ||
| - | * Vous n'avez pas la moindre idée de ce que vous faites et, si vous cassez quelque chose, vous aurez besoin d'aide pour réparer. Si vous détruisez votre système, réinstallez-le. Ne demandez de l'aide que si vous ne pouvez plus faire autrement. | ||
| - | * Vous avez atterri sur cette page par erreur, mais vous la lisez car elle semble intéressante. Cela peut être intéressant, | ||
| - | |||
| - | =====Pré-requis==== | ||
| - | |||
| - | Pour commencer, il faut [[: | ||
| - | |||
| - | < | ||
| - | sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package | ||
| - | </ | ||
| - | |||
| - | Cela va installer les outils relatifs à la compilation et l' | ||
| - | |||
| - | Note : Le paquet linux-kernel-devel n' | ||
| - | < | ||
| - | sudo apt-get build-dep linux | ||
| - | </ | ||
| - | |||
| - | =====Téléchargement des sources===== | ||
| - | |||
| - | Il y a deux moyens pour obtenir les sources du noyau Ubuntu. Idéalement, | ||
| - | |||
| - | La seconde méthode est plus simple : [[: | ||
| - | |||
| - | Cependant, ce ne sera pas toujours à jour. L' | ||
| - | |||
| - | Il faut maintenant décompacter le fichier que vous venez de télécharger | ||
| - | < | ||
| - | cd /usr/src | ||
| - | |||
| - | sudo tar --bzip2 -xvf linux-source | ||
| - | </ | ||
| - | |||
| - | =====Adaptation des sources à vos besoins===== | ||
| - | |||
| - | Pour la majorité des gens, modifier seulement les fichiers de configuration suffira. Si vous devez appliquer un correctif, lisez les instructions données par le fournisseur du correctif. | ||
| - | |||
| - | Les configurations " | ||
| - | < | ||
| - | $ ls -l debian/ | ||
| - | total 88 | ||
| - | -rw-r--r-- 1 me me 62737 Jun 14 18:31 config | ||
| - | -rw-r--r-- 1 me me 1859 Jun 12 14:59 config.386 | ||
| - | -rw-r--r-- 1 me me 1394 Jun 12 14:59 config.686 | ||
| - | -rw-r--r-- 1 me me 1420 Jun 12 14:59 config.k7 | ||
| - | -rw-r--r-- 1 me me 1519 Jun 12 14:59 config.server | ||
| - | -rw-r--r-- 1 me me 1867 Jun 12 14:59 config.server-bigiron | ||
| - | </ | ||
| - | Si vous devez changer une option de configuration, | ||
| - | |||
| - | **Note** : Si aucun fichier n'est présent, vous pouvez en trouver dans le répertoire ///boot//. Par exemple : | ||
| - | < | ||
| - | $ ls -l /boot | grep config | ||
| - | -rw-r--r-- 1 root root 69733 2006-08-03 05:10 config-2.6.15-26-686 | ||
| - | -rw-r--r-- 1 root root 69759 2006-08-03 05:36 config-2.6.15-26-k7 | ||
| - | </ | ||
| - | |||
| - | Suite à l' | ||
| - | < | ||
| - | debian/ | ||
| - | </ | ||
| - | |||
| - | Si vous voulez mettre à jour une architecture seulement, exécutez : | ||
| - | < | ||
| - | debian/ | ||
| - | </ | ||
| - | |||
| - | ====Compilation du noyau===== | ||
| - | |||
| - | La compilation du noyau est une étape très simple. Selon vos besoins, vous pouvez vouloir compiler toutes les cibles, ou seulement celle spécifique à votre système. Cependant, vous désirez aussi vous assurer que ce que vous faites n' | ||
| - | |||
| - | Utilisez la commande suivante pour construire toutes les cibles de l' | ||
| - | < | ||
| - | AUTOBUILD=1 fakeroot debian/ | ||
| - | </ | ||
| - | |||
| - | La variable d' | ||
| - | |||
| - | Pour construire une cible spécifique, | ||
| - | < | ||
| - | AUTOBUILD=1 fakeroot debian/ | ||
| - | </ | ||
| - | Ceci aura pour effet de ne compiler que la variante AMD k7 de l' | ||
| - | |||
| - | Sur certaine installation, | ||
| - | < | ||
| - | debian/ | ||
| - | </ | ||
| - | Dans ce cas, utilisez la commande suivante : | ||
| - | < | ||
| - | KPKG_ARCH=i386 AUTOBUILD=1 fakeroot debian/ | ||
| - | </ | ||
| - | avec i386 ou tout autre architecture. | ||
| - | |||
| - | =====Installation===== | ||
| - | |||
| - | Les paquets ainsi générés sont placés dans // | ||
| - | Maintenant que la construction a réussi, vous pouvez installer les paquets à l'aide de dpkg : | ||
| - | < | ||
| - | sudo dpkg -i linux-image-2.6.17-2-ef427c-k7_2.6.17-2.2_i386.deb | ||
| - | sudo dpkg -i linux-headers-2.6.17-2-ef427c-k7_2.6.17-2.2_i386.deb | ||
| - | </ | ||
| - | |||
| - | **Note** : Si vous utilisez les modules du paquet // | ||
| - | |||
| - | ---- | ||
| - | // Contributeurs : [[utilisateurs: | ||
| - | |||
| - | // Basé sur [[https:// | ||
| - | |||
| - | ===== Méthode alternative ===== | ||
| - | |||
| - | Cette méthode a été testée avec succès sur une Ubuntu 10.04 (Lucid Lynx) | ||
| - | |||
| - | ==== Pré-requis ==== | ||
| - | |||
| - | Afin de permettre la compilation du noyau, il vous faut certains paquets, | ||
| - | ouvrez un terminal et tapez : | ||
| - | |||
| - | < | ||
| - | |||
| - | |||
| - | ==== Téléchargement et préparation du noyau ==== | ||
| - | |||
| - | Nous allons maintenant télécharger le nouveau noyau dans le dossier /usr/src/ et le décompresser et continuer le travail dans / | ||
| - | dans le terminal, tapez ceci : | ||
| - | |||
| - | < | ||
| - | |||
| - | (au besoin, adaptez la 2.6.27 pour avoir la version du noyau désirée) | ||
| - | (attention, cette manipulation a été testée avec le noyau 2.6.34 donc, si vous modifiez la version du noyau, ce manuel peut être dangereux pour votre système) | ||
| - | |||
| - | Nous allons ensuite continuer en appliquant les derniers correctifs sur le noyau : | ||
| - | |||
| - | < | ||
| - | (à l' | ||
| - | |||
| - | |||
| - | |||
| - | ==== Importation des paramètres du noyau actuel et configuration ==== | ||
| - | |||
| - | Nous allons maintenant procéder à la partie intéressante du sujet : | ||
| - | la configuration du noyau | ||
| - | |||
| - | La commande suivante aura pour effet de copier vos paramètres actuels dans le nouveau noyau et de lancer l' | ||
| - | |||
| - | < | ||
| - | (NB : le terminal va vous demander des choses, notamment le paramétrage de nouvelles fonctions du noyau inexistantes dans l' | ||
| - | |||
| - | Après un petit moment, vous allez voir la fenêtre de configuration apparaître à l' | ||
| - | |||
| - | Une fois que vous avez choisi vos options, n' | ||
| - | |||
| - | Si vous utilisez la version serveur, c' | ||
| - | < | ||
| - | |||
| - | Puis : | ||
| - | |||
| - | < | ||
| - | |||
| - | ==== Compilation ==== | ||
| - | |||
| - | Pour cette partie-ci, j' | ||
| - | |||
| - | Pour lancer la compilation, | ||
| - | |||
| - | < | ||
| - | (NB : vous pouvez remplacer revision=386monNoyau par ce que vous voulez, ça ne change rien) | ||
| - | |||
| - | Et voila, vous devriez en avoir pour un bon bout de temps, c'est le moment d' | ||
| - | |||
| - | ==== Installation du nouveau noyau ==== | ||
| - | |||
| - | Voilà, la compilation est terminée, il vous reste juste à installer le nouveau noyau toujours dans le même terminal : | ||
| - | |||
| - | < | ||
| - | |||
| - | Ensuite, vous redémarrez l' | ||
| - | |||
| - | Ce document est une traduction d'un article créé par master_kernel, | ||
| - | merci à lui pour cet excellent tutoriel. | ||
| - | |||
| - | ===== Liens ===== | ||
| - | |||
| - | Tutoriel sympa : http:// | ||
| - | |||
| - | Turoriel Comment compiler le dernier noyau pour Ubuntu 7.10 via GIT: | ||
| - | |||
| - | Tutoriel Comment changer l' | ||
| - | |||
| - | ---- | ||
| - | |||
| - | // Contributeurs : [[utilisateurs: | ||
