logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [08/05/2017 20:38]
naguam [Introduction]
doc:systeme:kernel:compiler [08/05/2017 20:56]
naguam [Étape 6 Configuration des options du noyau]
Ligne 71: Ligne 71:
 Il faut télécharger le kernel (source et signature) depuis ce lien : Il faut télécharger le kernel (source et signature) depuis ce lien :
   * [[https://​www.kernel.org/​|kernel.org]] ​   * [[https://​www.kernel.org/​|kernel.org]] ​
-<note important>​Les commandes du cadre suivant sont à copier coller ligne par ligne en modifiant juste la version (pour un version voulue) du kernel à télécharger ​cette automatisation a été conçu ​pour les kernels de kernel.org ​si vous compilez ​kernel ​d'​autres sources il vous faudra ​mieux comprendre le fonctionnement **gpg** et l'​automatisation ne seras pas fonctionnelle</​note>​ +<note important>​**Les commandes du cadre suivant sont à copier coller ligne par ligne en modifiant juste la version (pour une version voulue) du kernel à télécharger. Cette automatisation a été conçue ​pour les kernels de kernel.org.** Si vous compilez ​à partir ​d'​autres sourcesil vous faudra comprendre le fonctionnement **gpg** et l'​automatisation ​(au copier collé par lignes) ​ne seras pas fonctionnelle.</​note>​ 
-Pour automatiser un peuvoici un exemple avec le kernel 4.10.14:+ 
 +Pour automatiser un peuvoici un exemple avec le kernel 4.10.14 ​(à changer par la version du kernel que vous voulez:
 <code user>cd ~ # on va dans son répertoire perso <code user>cd ~ # on va dans son répertoire perso
 kversion=4.10.14 #​ la version du kernel à changer kversion=4.10.14 #​ la version du kernel à changer
 wget https://​www.kernel.org/​pub/​linux/​kernel/​v${kversion:​0:​1}.x/​linux-$kversion.tar.xz ​   # les sources du kernel wget https://​www.kernel.org/​pub/​linux/​kernel/​v${kversion:​0:​1}.x/​linux-$kversion.tar.xz ​   # les sources du kernel
 wget https://​www.kernel.org/​pub/​linux/​kernel/​v${kversion:​0:​1}.x/​linux-$kversion.tar.sign ​   # la signature des sources</​code>​ wget https://​www.kernel.org/​pub/​linux/​kernel/​v${kversion:​0:​1}.x/​linux-$kversion.tar.sign ​   # la signature des sources</​code>​
-voilà, les prochaines fois, vous n'​aurez plus qu'à changer kversion, les autres commandes ne changeront pas+Voilà, les prochaines fois, vous n'​aurez plus qu'à changer ​la variable '' ​kversion ​''​, les autres commandes ne changeront pas.
  
-Ensuite vérification (aussi de par l'​exemple précédant),​ à reproduire en fonction de votre kernel:+Ensuite vérification (à partir ​de l'​exemple précédant),​ à reproduire en fonction de votre kernel:
  
 <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign - | grep ^.*key</​code>​ <code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign - | grep ^.*key</​code>​
Ligne 85: Ligne 86:
 gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
 gpg: Can't check signature: Pas de clef publique</​code>​ gpg: Can't check signature: Pas de clef publique</​code>​
-on extrait la clé, signature inconnue, on va la chercher:+on extrait la clé, **signature inconnue**, on va la chercher:
 <code user>gpg --keyserver hkp://​keys.gnupg.net --recv-keys 647F28654894E3BD457199BE38DBBDC86092693E</​code>​ <code user>gpg --keyserver hkp://​keys.gnupg.net --recv-keys 647F28654894E3BD457199BE38DBBDC86092693E</​code>​
 <​code>​gpg:​ key 38DBBDC86092693E:​ public key "Greg Kroah-Hartman (Linux kernel stable release signing key) greg@kroah.com"​ imported <​code>​gpg:​ key 38DBBDC86092693E:​ public key "Greg Kroah-Hartman (Linux kernel stable release signing key) greg@kroah.com"​ imported
Ligne 100: Ligne 101:
 Primary key fingerprint:​ 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E</​code>​ Primary key fingerprint:​ 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E</​code>​
 Voilà, super la signature est ok : Voilà, super la signature est ok :
- +<quote>Good signature from "Greg Kroah-Hartman...</quote>
-<>​Good signature from "Greg Kroah-Hartman ​(Linux kernel stable release signing key) greg@kroah.com" [unknown]</> ​ +
 Même si la clé n'est pas signée avec une signature de confiance. Même si la clé n'est pas signée avec une signature de confiance.
  
Ligne 110: Ligne 109:
  * contacter ftpadmin@kernel.org immédiatement pour investigation  * contacter ftpadmin@kernel.org immédiatement pour investigation
  
-<> WARNING: This key is not certified with a trusted signature</>​+<quote> WARNING: This key is not certified with a trusted signature</​quote>
 On va s'​arrêter là dans la vérification,​ à moins de vouloir vérifier en contactant des signataires de cette clé. \\ On va s'​arrêter là dans la vérification,​ à moins de vouloir vérifier en contactant des signataires de cette clé. \\
 Voir les signataires:​ Voir les signataires:​
 <code user>gpg --list-sigs ABAF11C65A2970B130ABE3C479BE3E4300411886</​code>​ <code user>gpg --list-sigs ABAF11C65A2970B130ABE3C479BE3E4300411886</​code>​
- 
 ===== Étape 5 Décompression ===== ===== Étape 5 Décompression =====
    
Ligne 139: Ligne 137:
 Puis faire une des trois commandes suivantes **au choix** : Puis faire une des trois commandes suivantes **au choix** :
 <code user>​make olddefconfig</​code>​ <code user>​make olddefconfig</​code>​
- * Cette commande s'​exécutera en choisissant les valeurs par defaut en une fois\\ (les lignes de validations par ''​Y''​ ou ''​N''​ seront cachées). +   * Cette commande s'​exécutera en choisissant les valeurs par defaut en une fois\\ (les lignes de validations par ''​Y''​ ou ''​N''​ seront cachées). 
 +  ​* ​
 Ou : Ou :
 <code user>​make oldnoconfig</​code>​ <code user>​make oldnoconfig</​code>​
- * Cette comande répond ''​N''​ à tout les nouveaux arguments, c'est utile surtout si vous avez un serveur parfaitement stable et que vous voulez mettre un kernel LTS ''​Long Term Support''​ à la place d'un kernel en fin de support.+   * Cette comande répond ''​N''​ à tout les nouveaux arguments, c'est utile surtout si vous avez un serveur parfaitement stable et que vous voulez mettre un kernel LTS ''​Long Term Support''​ à la place d'un kernel en fin de support.
  
 Ou encore : Ou encore :
 <code user>​make oldconfig</​code>​ <code user>​make oldconfig</​code>​
- * Cette commande vous demandera de valider les nouvelles options (ajoutées dans le nouveau kernel) par ''​Y''​ ou par ''​N'' ​ ou/et d'​autres options encore.+   * Cette commande vous demandera de valider les nouvelles options (ajoutées dans le nouveau kernel) par ''​Y''​ ou par ''​N'' ​ ou/et d'​autres options encore.
 <note tip>Si vous avez un doute, appuyez sur la touche ''​entrée''​.</​note>​ <note tip>Si vous avez un doute, appuyez sur la touche ''​entrée''​.</​note>​
  
Ligne 155: Ligne 153:
  
 Pour les plus avisés et/ou les bidouilleurs-fous,​ vous pouvez gratter à la main dans la configuration du kernel par cette interface //​semi-graphique//​ de configuration : Pour les plus avisés et/ou les bidouilleurs-fous,​ vous pouvez gratter à la main dans la configuration du kernel par cette interface //​semi-graphique//​ de configuration :
- * ''​ make menuconfig''​ en console ncurse+   * ''​ make menuconfig''​ en console ncurse
  
 Vous pouvez aussi utilisez une interface graphique plus confortable pour naviguer dans toutes ces options, selon le DE : Vous pouvez aussi utilisez une interface graphique plus confortable pour naviguer dans toutes ces options, selon le DE :
- * ''​make gconfig''​ en graphique ​sous gnome, xfce ou autre +   * ''​make gconfig''​ en graphique ​pour interfaces ​ou DE basés sur gtk. 
- * ''​make xconfig''​ en graphique ​sous kde+   ​* ''​make xconfig''​ en graphique ​pour interfaces ou DE basés sur qt.
  
 Vous passerez un agéable moment à parcourir la documentation des sources pour découvrir les options possibles ou les matériels qu'il est possible de prendre en compte en raoutant des options. Vous passerez un agéable moment à parcourir la documentation des sources pour découvrir les options possibles ou les matériels qu'il est possible de prendre en compte en raoutant des options.
- * consulter ''​~/​kernel/​linux-4.X.X/​README''​ +  ​* consulter ''​~/​kernel/​linux-4.X.X/​README''​ 
- * l'​index de la documentation du kernel se trouve dans ''​~/​kernel/​linux-4.x/​Documentation/​00-INDEX'',​ à lire pour aller plus loin+  * l'​index de la documentation du kernel se trouve dans ''​~/​kernel/​linux-4.x/​Documentation/​00-INDEX'',​ à lire pour aller plus loin
 Remarque: à partir du noyau 4.10, la doc intéressante est déplacée, mais c'est indiqué dans le ''​README''​ Remarque: à partir du noyau 4.10, la doc intéressante est déplacée, mais c'est indiqué dans le ''​README''​
  
Ligne 192: Ligne 190:
 ===== Explications ===== ===== Explications =====
  
-  ​-**fakeroot** va nous permettre de compiler sans être en ''​root''​ +  ​**fakeroot** va nous permettre de compiler sans être en ''​root''​ 
-  ​-**make** est l'​outil qui va chercher les instructions dans le ''​Makefile''​ qui va donner les instructions au compilateur. +  ​**make** est l'​outil qui va chercher les instructions dans le ''​Makefile''​ qui va donner les instructions au compilateur. 
-  ​-''​**-j$(nproc)**''​ on attribue tous les ''​threads''​ possibles \\+  ​''​**-j$(nproc)**''​ on attribue tous les ''​threads''​ possibles \\
    ce n'est pas obligatoire,​ mais cela permet d'​augmenter la vitesse de compilation,​ le processeur travaillant en entier sur tout ses cores avec tout ses threads avec cette option.    ce n'est pas obligatoire,​ mais cela permet d'​augmenter la vitesse de compilation,​ le processeur travaillant en entier sur tout ses cores avec tout ses threads avec cette option.
-  ​-**LOCALVERSION=-$(dpkg --print-architecture)**,​ optionnel, sert à nommer son kernel, au plus près du nommage Debian \\+  ​**LOCALVERSION=-$(dpkg --print-architecture)**,​ optionnel, sert à nommer son kernel, au plus près du nommage Debian \\
     vous pouvez utiliser aussi ''​nomanecdotique'',​ mais sans lettres majuscules car sinon à la fin, lors de la construction du paquet, cela fera une belle erreur ''​caractère non autorisé = la(les) lettres en majuscule''​.     vous pouvez utiliser aussi ''​nomanecdotique'',​ mais sans lettres majuscules car sinon à la fin, lors de la construction du paquet, cela fera une belle erreur ''​caractère non autorisé = la(les) lettres en majuscule''​.
-  ​-**KDEB_PKGVERSION=$(make kernelversion)-1**,​ optionnel, donne une versions aux paquets construits à la fin.+  ​**KDEB_PKGVERSION=$(make kernelversion)-1**,​ optionnel, donne une versions aux paquets construits à la fin.
  
 Maintenant, suivant la puissance de votre processeur, cela va prendre un peu de temps (20 min si vous avez un processeur très puissant genre intel core i7 overclocké et une semaine pour un pIImmx, en tout cas dans la plupart des cas des machines actuelles, c'est environ entre 2 et 4h de compilation). \\ Maintenant, suivant la puissance de votre processeur, cela va prendre un peu de temps (20 min si vous avez un processeur très puissant genre intel core i7 overclocké et une semaine pour un pIImmx, en tout cas dans la plupart des cas des machines actuelles, c'est environ entre 2 et 4h de compilation). \\
doc/systeme/kernel/compiler.txt · Dernière modification: 01/10/2023 11:30 par captnfab

Pied de page des forums

Propulsé par FluxBB