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 | ||
doc:systeme:kernel:compiler [18/06/2021 01:59] naguam [3 Décompression et préparation des sources pour la compilation du kernel!] |
doc:systeme:kernel:compiler [01/10/2023 11:30] (Version actuelle) captnfab |
||
---|---|---|---|
Ligne 30: | 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 perl libssl-dev bc gnupg dirmngr libncurses-dev libelf-dev flex bison lsb-release rsync</code> | + | <code root>apt install build-essential fakeroot dpkg-dev perl libssl-dev bc gnupg dirmngr libncurses-dev libelf-dev flex bison lsb-release rsync dwarves</code> |
- | [[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 :-/) | + | ''dwarves'' est nécessaire avec la configuration debian à partir de debian bullseye, et uniquement si vous laissez la partie debug activée dans la suite du tutoriel. |
+ | |||
+ | Si vous avez les dépôts src dans votre sources.list et que, n'avoir que le minimum de dépendances ne vous importe pas, vous pouvez également faire (en root) | ||
+ | |||
+ | <code root>apt build-dep linux</code> | ||
+ | |||
+ | Cela installera les dépendances exactes du kernel packagé dans debian; dépendances choisies et utilisées par les mainteneurs. | ||
+ | |||
+ | Normalement ça s'accorde assez bien avec une configuration faite avec ''make olddefconfig'', que nous verrons plus tard dans le tutoriel. | ||
==== 2.2 Répertoire de compilation ==== | ==== 2.2 Répertoire de compilation ==== | ||
Ligne 63: | Ligne 71: | ||
C'est une étape assez fastidieuse mais importante car si il y a un problème de mauvaise signature **c'est mauvais signe**, pour les moins expérimentés, en cas de problème vous pouvez faire un post sur la page du forum reliée à ce tutoriel (lien en haut de page). | C'est une étape assez fastidieuse mais importante car si il y a un problème de mauvaise signature **c'est mauvais signe**, pour les moins expérimentés, en cas de problème vous pouvez faire un post sur la page du forum reliée à ce tutoriel (lien en haut de page). | ||
- | Si vous avez utilisé les sources de kernel.org (voir la sous-étape précédente), vous n'avez qu'a copier-coller et lire une ou deux choses de retours :-)\\ | + | Cette procédure est bien expliquée sur le site officiel du noyau linux donc je conseille de la suivre en adaptant les commandes avec votre version du noyau. |
- | Si vous n'avez pas utilisé les sources du kernel.org, voir l'encadré /!\ précédent. | + | |
- | + | ||
- | Donc là nous allons commencer la vérification (en user) | + | |
- | + | ||
- | <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</code> | + | |
- | + | ||
- | Attention à ne pas oublier le ''**-**'' à la fin | + | |
- | + | ||
- | Cela devrait vous retourner quelque chose ressemblant à cet **exemple** (même si la ''RSA key'' sera différente selon vos sources) : | + | |
- | + | ||
- | <code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | + | |
- | gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | + | |
- | gpg: Can't check signature: Pas de clef publique</code> | + | |
- | + | ||
- | Là nous pouvons voir que vous n'avez pas de clef publique et qu'il ne peut pas checker la signature.\\ | + | |
- | Nous allons donc la chercher :-) | + | |
- | + | ||
- | **La commande qui va suivre est un exemple**, nous devons retaper la ''**RSA key**'' trouvée par la première commande à la place ce celle de l'exemple (encore et toujours en user). | + | |
- | + | ||
- | <code user>gpg --keyserver hkp://keys.gnupg.net --recv-keys 647F28654894E3BD457199BE38DBBDC86092693E</code> | + | |
- | + | ||
- | Retour toujours de **l'exemple**, vous devriez avoir un retour similaire. | + | |
- | + | ||
- | <code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | + | |
- | gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | + | |
- | gpg: Good signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) greg@kroah.com" [unknown] | + | |
- | gpg: WARNING: This key is not certified with a trusted signature! | + | |
- | gpg: There is no indication that the signature belongs to the owner. | + | |
- | Primary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E</code> | + | |
- | + | ||
- | Maintenant dans ce retour et normalement dans le votre, vous devriez voir ''**Good signature from....**'' \\ | + | |
- | Cela montre que votre signature est vérifiée. Vous pouvez passer à l'étape suivante. | + | |
- | Dans le cas où vous n'avez pas ''Good signature from...'', il faut tout arrêter et contacter le créateur de vos sources et télécharger d'autres sources. | + | [[https://www.kernel.org/signature.html | Lien explicatif ]] |
- | Par contre nous pouvons ignorer le ''WARNING''. | + | Vous pouvez utiliser un outil de traduction pour le lire en français si l'anglais est compliqué pour vous.\\ |
+ | Pour plus d'aide, n'hésitez pas à demander sur la page du forum reliée à ce tutoriel (lien en haut de page). | ||
===== 3 Décompression et préparation des sources pour la compilation du kernel! ===== | ===== 3 Décompression et préparation des sources pour la compilation du kernel! ===== | ||
Ligne 236: | Ligne 213: | ||
[[https://www.kernel.org/doc/html/latest/index.html|La doc officielle de kernel.org]]\\ | [[https://www.kernel.org/doc/html/latest/index.html|La doc officielle de kernel.org]]\\ | ||
[[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://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://www.kernel.org/doc/html/latest/process/applying-patches.html|Et enfin pour patcher]] | + | [[https://www.kernel.org/doc/html/latest/process/applying-patches.html|Et enfin pour patcher]]\\ |
+ | [[https://www.debian.org/doc/manuals/debian-kernel-handbook/|Doc officielle debian]] | ||
** | ** | ||