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:57]
naguam [Étape 6 Configuration des options du noyau]
doc:systeme:kernel:compiler [08/05/2017 21:33]
naguam [Étape 7 Contemplation]
Ligne 32: Ligne 32:
  
 ======EN COURS DE MISE À JOUR====== ======EN COURS DE MISE À JOUR======
-===== Étape 1 Dépendances =====+===== Étape 1 Prérequis et Dépendances ===== 
 + 
 +Prévoir un peu de stockage (10GB pour prévoir large) car il y aura une création des paquets du kernel :-)
  
 Installer les paquets : Installer les paquets :
Ligne 100: Ligne 102:
 gpg: There is no indication that the signature belongs to the owner. 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>​ 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...''​\\ 
-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.\\
  
 En cas de **"BAD signature"​**,​ vérifier: En cas de **"BAD signature"​**,​ vérifier:
Ligne 109: Ligne 111:
  * contacter ftpadmin@kernel.org immédiatement pour investigation  * contacter ftpadmin@kernel.org immédiatement pour investigation
  
-<​quote> ​WARNING: This key is not certified with a trusted signature</​quote>​+''​WARNING: This key is not certified with a trusted signature''​\\
 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 ​Décompression =====+===== Étape ​Décompression =====
    
 On [[doc:​systeme:​tar|décompresse le kernel téléchargé]] avec cette commande : On [[doc:​systeme:​tar|décompresse le kernel téléchargé]] avec cette commande :
Ligne 121: Ligne 123:
 <code user>cd linux-X.X-X/</​code>​ <code user>cd linux-X.X-X/</​code>​
  
-===== Étape ​Configuration des options du noyau =====+===== Étape ​Configuration des options du noyau =====
  
 Maintenant, dans cette étape, on va s'​occuper de la configuration du kernel : Maintenant, dans cette étape, on va s'​occuper de la configuration du kernel :
  
-==== 6.1 Options actuelles ====+==== 5.1 Options actuelles ====
  
 Il est conseillé de restaurer la configuration actuelle, pour ce faire, on peut faire au choix les commandes de type **make oldconfig** suivantes : Il est conseillé de restaurer la configuration actuelle, pour ce faire, on peut faire au choix les commandes de type **make oldconfig** suivantes :
Ligne 131: Ligne 133:
   * **Avec les kernel récents**, sûrement au-dessus de la v4.x, il va chercher automatiquement le .config dans /​boot/​config-''​votreKernelActuellementActifOuPrecedant''​ et crée le .config.   * **Avec les kernel récents**, sûrement au-dessus de la v4.x, il va chercher automatiquement le .config dans /​boot/​config-''​votreKernelActuellementActifOuPrecedant''​ et crée le .config.
   ​   ​
- <​note>​Pour les kernels plus anciens, il faudra peut-être copier la configuration de votre kernel actuel sous forme de .config</​note>​+ <​note>​Pour les kernels plus anciens, il faudra peut-être copier la configuration de votre kernel actuel sous forme de .config
  
-<code user>cp /​boot/​config-votreKernelActuellementActifOuPrecedant .config</​code> ​+<code user>cp /​boot/​config-votreKernelActuellementActifOuPrecedant .config</​code></​note>
  
 Puis faire une des trois commandes suivantes **au choix** : Puis faire une des trois commandes suivantes **au choix** :
Ligne 144: Ligne 146:
 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>​
- 
-On peut aussi partir de Zéro, en fouillant dans la doc et les architectures proposées, mais là faut aimer jouer ;) 
  
 === Annexe optionnelle === === Annexe optionnelle ===
Ligne 163: Ligne 163:
 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''​
  
-==== 6.2 désactiver ​les clés du kernel ====+==== 5.2 Désactiver ​les clés du kernel ====
  
 Obligatoire pour éviter erreur de compilation et éventuellement utiliser ses clés propres Obligatoire pour éviter erreur de compilation et éventuellement utiliser ses clés propres
Ligne 170: Ligne 170:
 <code user>​./​scripts/​config -d CONFIG_MODULE_SIG_ALL -d CONFIG_MODULE_SIG_KEY -d CONFIG_SYSTEM_TRUSTED_KEYS</​code>​ <code user>​./​scripts/​config -d CONFIG_MODULE_SIG_ALL -d CONFIG_MODULE_SIG_KEY -d CONFIG_SYSTEM_TRUSTED_KEYS</​code>​
  
-==== 6.3 Eviter de compiler debug ====+==== 5.3 Ne pas compiler ​de debug ====
  
 Ne pas compiler le fichier de symboles dbg : Ne pas compiler le fichier de symboles dbg :
 <code user>​./​scripts/​config -d CONFIG_DEBUG_INFO</​code>​ <code user>​./​scripts/​config -d CONFIG_DEBUG_INFO</​code>​
-ce n'est pas obligatoire,​ mais par exemple, on va passer de 2h10 à 1h20 de compil, soit un gain de 38%.+ce n'est pas obligatoire,​ mais permet ​un gain de 38%.
  
  
-===== Étape ​Compilation =====+===== Étape ​Compilation =====
  
 Nous allons maintenant pouvoir nous mettre à compiler ! \\ Nous allons maintenant pouvoir nous mettre à compiler ! \\
 Selon la manière que je vais vous présenter : Selon la manière que je vais vous présenter :
-  ​il créera les packages ​pour ensuite +  ​il créera les packages  
-  - installer le kernel.+ 
  
 <code user>​fakeroot make deb-pkg -jX LOCALVERSION=-nomanecdotique KDEB_PKGVERSION=$(make kernelversion)-1</​code>​ <code user>​fakeroot make deb-pkg -jX LOCALVERSION=-nomanecdotique KDEB_PKGVERSION=$(make kernelversion)-1</​code>​
 <code user>​fakeroot make deb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1</​code>​ <code user>​fakeroot make deb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1</​code>​
  
-===== Explications ​=====+==== Explications ====
  
   * **fakeroot** va nous permettre de compiler sans être en ''​root''​   * **fakeroot** va nous permettre de compiler sans être en ''​root''​
Ligne 194: Ligne 194:
    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 lettre(s) majuscule(s) ​car sinon à la fin, lors de la construction du paquet, cela fera une belle erreur ''​caractère non autorisé = la(les) ​lettre(s) ​en majuscule(s)''​. 
-  * **KDEB_PKGVERSION=$(make kernelversion)-1**,​ optionnel, donne une versions ​aux paquets construits à la fin.+  * **KDEB_PKGVERSION=$(make kernelversion)-1**,​ optionnel, donne une version ​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). \\
 //Vous avez donc le temps de boire un thé ou un café, manger des Chocos-DF et d'​écouter du hard-rock// :-O //Vous avez donc le temps de boire un thé ou un café, manger des Chocos-DF et d'​écouter du hard-rock// :-O
  
-===== Étape ​Contemplation =====+===== Étape ​Contemplation =====
    
 Maintenant ​ on remonte pour voir les fichier crées : Maintenant ​ on remonte pour voir les fichier crées :
Ligne 208: Ligne 208:
 Vous devriez avoir obtenu les fichiers : Vous devriez avoir obtenu les fichiers :
 <​code>​linux-X.X-X-architecture_X.X-X-1_architecture.changes <​code>​linux-X.X-X-architecture_X.X-X-1_architecture.changes
- linux-X.X-X-architecture_X.X-X-1.debian.tar.gz + ​linux-X.X-X-architecture_X.X-X-1.debian.tar.gz 
- linux-X.X-X-architecture_X.X-X-1.dsc + ​linux-X.X-X-architecture_X.X-X-1.dsc 
- linux-X.X-X-architecture_X.X-X-architecture.orig.tar.gz + ​linux-X.X-X-architecture_X.X-X-architecture.orig.tar.gz 
- linux-firmware-image-X.X-X-architecture_X.X-X-1_architecture.deb + ​linux-firmware-image-X.X-X-architecture_X.X-X-1_architecture.deb 
- linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb + ​linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb 
- linux-image-X.X-X-architecture_X.X-X-1_architecture.deb + ​linux-image-X.X-X-architecture_X.X-X-1_architecture.deb 
- linux-libc-dev_X.X-X-1_architecture.deb</​code>​ + ​linux-libc-dev_X.X-X-1_architecture.deb</​code>​ 
-si vous n'avez pas désactivé la compilation de de dbg : + 
- linux-image-X.X-X-architecture-dbg_X.X-X-1_architecture.deb +Si vous n'avez pas désactivé la compilation de de dbg : 
-Sans compter les fichiers qui étaient présents avant.+ ''​linux-image-X.X-X-architecture-dbg_X.X-X-1_architecture.deb''​ 
 + 
 +Tout ça sans compter les fichiers qui étaient présents avant.
  
 Les fichiers se terminant par ''​.deb''​ sont les paquets installables directement,​ les autres sont les nouvelles sources, les modifications apportées enregistrées dans le ''​.change''​ et la signature des clefs. Les fichiers se terminant par ''​.deb''​ sont les paquets installables directement,​ les autres sont les nouvelles sources, les modifications apportées enregistrées dans le ''​.change''​ et la signature des clefs.
  
-===== Étape ​Installation et/ou déinstallation du kernel =====+===== Étape ​Installation et/ou déinstallation du kernel =====
  
 Pour installer le kernel, nous devons au minimum installer l'​image et les headers mais je conseille d'​installer tout les .deb si vous ne manquez pas d'​espace de stockage. Pour installer le kernel, nous devons au minimum installer l'​image et les headers mais je conseille d'​installer tout les .deb si vous ne manquez pas d'​espace de stockage.
Ligne 232: Ligne 234:
 __Vous pouver aussi déinstaller avec apt.__ __Vous pouver aussi déinstaller avec apt.__
  
- +==== Avertissement ==== 
-<​note>​__Dans ''/​etc/​kernel/​postinst.d/​apt-auto-removal''​ :__\\+__Dans ''/​etc/​kernel/​postinst.d/​apt-auto-removal''​ :__''​\\
 // # Mark as not-for-autoremoval those kernel packages that are://\\ // # Mark as not-for-autoremoval those kernel packages that are://\\
 // #  - the currently booted version//\\ // #  - the currently booted version//\\
Ligne 243: Ligne 245:
 // # second-latest kernel, we install the latest kernel in an upgrade), but//\\ // # second-latest kernel, we install the latest kernel in an upgrade), but//\\
 // # can save up to four. Kernel refers here to a distinct release, which can//\\ // # can save up to four. Kernel refers here to a distinct release, which can//\\
-// # potentially be installed in multiple flavours counting as one kernel.//+// # potentially be installed in multiple flavours counting as one kernel.//''​
  
 Ce script n'est peut-être présent que sur Stretch, pas sur Jessie (à vérifier) Ce script n'est peut-être présent que sur Stretch, pas sur Jessie (à vérifier)
Ligne 255: Ligne 257:
 <code root>mv /​etc/​kernel/​postinst.d/​apt-auto-removal /​etc/​kernel/​postinst.d/​apt-auto-removal.bak <code root>mv /​etc/​kernel/​postinst.d/​apt-auto-removal /​etc/​kernel/​postinst.d/​apt-auto-removal.bak
 ln -s /dev/null /​etc/​kernel/​postinst.d/​apt-auto-removal</​code>​ ln -s /dev/null /​etc/​kernel/​postinst.d/​apt-auto-removal</​code>​
-</​note>​+
 ===== Conclusion et Sources ===== ===== Conclusion et Sources =====
  
doc/systeme/kernel/compiler.txt · Dernière modification: 01/10/2023 11:30 par captnfab

Pied de page des forums

Propulsé par FluxBB