Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
doc:systeme:kernel:compiler [20/04/2018 20:39] naguam maj |
doc:systeme:kernel:compiler [13/04/2021 16:27] jpt [4 C'est parti pour la compilation! La fameuse! (toujours en user et oui!)] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Compiler d'une source externe. | * Objet : Compiler d'une source externe. | ||
- | * Niveau requis : {{tag>Tout-niveau}} | ||
* Commentaires : // Tout est dans le titre :-) // | * Commentaires : // Tout est dans le titre :-) // | ||
* Créé, Rédigé et Testé par [[user>naguam]] | * Créé, Rédigé et Testé par [[user>naguam]] | ||
* Discussion liée à ce tutoriel : [[https://debian-facile.org/viewtopic.php?id=16415 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! Tant qu'elles sont correctement justifiées (raisons valables) | Vous pouvez aussi y poser des questions! )) | * Discussion liée à ce tutoriel : [[https://debian-facile.org/viewtopic.php?id=16415 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! Tant qu'elles sont correctement justifiées (raisons valables) | Vous pouvez aussi y poser des questions! )) | ||
+ | * Niveau requis : Tout niveau | ||
===== 1 Notes avant de commencer ===== | ===== 1 Notes avant de commencer ===== | ||
Ligne 31: | Ligne 30: | ||
Il nous faudra donc installer des dépendances nécessaires à la compilation (en root) | Il nous faudra donc installer des dépendances nécessaires à la compilation (en root) | ||
- | <code root>apt install build-essential fakeroot dpkg-dev libssl-dev bc gnupg dirmngr libncurses5-dev libelf-dev</code> | + | <code root>apt install build-essential fakeroot dpkg-dev perl libssl-dev bc gnupg dirmngr libncurses5-dev libelf-dev flex bison lsb-release rsync</code> |
- | [[https://www.phoronix.com/scan.php?page=news_item&px=Linux-Now-Needs-Flex-Bison|Dépendances futures pour le 4.16]] à cause d'une modification du [[http://www.tuxmachines.org/node/108705|kconfig pour la gestion]] du kernel dans un paquet pour snappy... Vive canonical (ironie :-/) | + | [[https://www.phoronix.com/scan.php?page=news_item&px=Linux-Now-Needs-Flex-Bison|Flex et Bison sont des dépendances nécessaires à partir du 4.16]] à cause d'une modification du [[http://www.tuxmachines.org/node/108705|kconfig pour la gestion]] du kernel dans un paquet pour snappy... Vive canonical (ironie :-/) |
- | À installer seulement si vous voulez compiler le 4.16 dans le futur quand il sortira en rc etc | + | Il est possible que la version de `libncurses` ne soit pas "5", dans ce cas il suffit de remplacer `libncurses5-dev` par `libncurses-dev` |
- | + | ||
- | <code root>apt install flex bison</code> | + | |
==== 2.2 Répertoire de compilation ==== | ==== 2.2 Répertoire de compilation ==== | ||
Ligne 47: | Ligne 44: | ||
==== 2.3 Les sources ==== | ==== 2.3 Les sources ==== | ||
- | Bien sûr, il nous faut télécharger les sources du kernel et la signature pour vérification de l'intégrité du kernel.\\ | + | Bien sûr, il nous faut télécharger : |
+ | |||
+ | * les sources du kernel //(lien "tarball" sur kernel.org)// et | ||
+ | * la signature pour vérification de l'intégrité du kernel //(lien "pgp" sur kernel.org)// . | ||
Nous pouvons par exemple, les télécharger chez [[https://www.kernel.org/|kernel.org]], le site officiel du kernel linux. (conseillé pour les moins expérimentés)\\ | Nous pouvons par exemple, les télécharger chez [[https://www.kernel.org/|kernel.org]], le site officiel du kernel linux. (conseillé pour les moins expérimentés)\\ | ||
- | Vous devez avoir des fichiers qui ce terminent par ''.tar.xz'' (ou''.tar.gz'') et ''.tar.sign'' | + | Vous devez avoir deux fichiers qui se terminent respectivement par ''.tar.xz'' (ou''.tar.gz'') et ''.tar.sign'' |
__**Téléchargez vos sources dans votre répertoire de compilation créé juste avant!**__ | __**Téléchargez vos sources dans votre répertoire de compilation créé juste avant!**__ | ||
Ligne 110: | Ligne 111: | ||
<code user>tar -xaf linux-$kversion.tar.xz && cd linux-$kversion</code> | <code user>tar -xaf linux-$kversion.tar.xz && cd linux-$kversion</code> | ||
- | <note important>N'oubliez pas ce que nous avons déjà dis avant en 2.3 pour l'histoire du ''**kversion**'' !</note> | + | <note important>N'oubliez pas ce que nous avons déjà dit avant en 2.3 pour l'histoire du ''**kversion**'' !</note> |
==== 3.2 Configuration et préparation des sources ==== | ==== 3.2 Configuration et préparation des sources ==== | ||
Ligne 162: | Ligne 163: | ||
==== 4.2 Toujours plus d'optimisation de temps en ne créant que les paquets nécessaires ==== | ==== 4.2 Toujours plus d'optimisation de temps en ne créant que les paquets nécessaires ==== | ||
- | Nous allons créer les paquets avec ''bindeb-pkg'', cela ne créer que les binaires les plus utiles (certains indispensables) si vous voulez les nouvelles sources reconstruites, il vous faut faire __**étape 4.1**__ | + | Nous allons créer les paquets avec ''bindeb-pkg'', cela ne va créer que les binaires les plus utiles (certains indispensables) si vous voulez les nouvelles sources reconstruites, il vous faut faire __**l'étape 4.1**__ |
Nous pouvons nous mettre à compiler | Nous pouvons nous mettre à compiler | ||
Ligne 228: | Ligne 229: | ||
**Bravo! vous avez une machine avec le kernel de votre choix!** | **Bravo! vous avez une machine avec le kernel de votre choix!** | ||
- | **A voir aussi | + | **À voir aussi |
[[https://debian-handbook.info/browse/fr-FR/stable/sect.kernel-compilation.html|ce lien en section 8.10.4]], | [[https://debian-handbook.info/browse/fr-FR/stable/sect.kernel-compilation.html|ce lien en section 8.10.4]], | ||
Toute la page est intéressante pour tous les Fous-faciles! :-)\\ | Toute la page est intéressante pour tous les Fous-faciles! :-)\\ | ||
- | + | [[https://www.kernel.org/doc/html/latest/index.html|La doc officielle de kernel.org]]\\ | |
- | D'autres liens cool\\ | + | [[https://www.kernel.org/doc/html/latest/process/changes.html#current-minimal-requirements|En particulier, les dépendances minimums pour ceux qui tenteraient sur n'importe quelle distribution]]\\ |
- | [[https://github.com/kyodev/kyodeb/wiki/kernel.org-CompilationDebian|intéressant pour ceux qui veulent un tuto plus complet (page github d'une personne géniale qui a aidé) avec encore d'autre lien en bas de la page github]] :-) \\ | + | [[https://www.kernel.org/doc/html/latest/process/applying-patches.html|Et enfin pour patcher]] |
- | [[https://github.com/kyodev/kyodeb/wiki/kernel.org-CompilationDebian-PatchVersion|Pour les gens qui veulent patcher (toujours de la même personne)]] \\ | + | |
** | ** | ||