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 18:16]
naguam
doc:systeme:kernel:compiler [12/05/2017 21:48]
naguam [Introduction | JE REFAIS pour simplifier, donc en cours de modification | Désolé pour la modération mais cette fois c'est la bonne de toute manière c'est à considérer comme une mise à jour]
Ligne 7: Ligne 7:
   * Suivi : {{tag>​placé à-tester}} ​   * Suivi : {{tag>​placé à-tester}} ​
     * Création par [[user>​naguam]] 03/01/2017     * Création par [[user>​naguam]] 03/01/2017
-    * Rédaction écrite en plus grande partie par [[user>​naguam]]  +    * Écrit très grande partie par [[user>​naguam]]  
-    * Testé par [[user>​naguam]] le 02/01/2017+    * Testé par [[user>​naguam]] le 08/05/2017
   * 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 !))    * 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 !)) 
  
 Voir aussi le tuto : Voir aussi le tuto :
-* [[doc:​systeme:​noyau:​compiler | compiler un noyau]]+  ​* [[doc:​systeme:​noyau:​compiler | compiler un noyau]]
  
-==== Introduction ====+===== Introduction ​| JE REFAIS pour simplifier, donc en cours de modification | Désolé pour la modération mais cette fois c'est la bonne de toute manière c'est à considérer comme une mise à jour (que je fais sur un txt et que je poste après)=====
  
 Compiler un kernel (plus réçent) est utile pour plusieurs choses : Compiler un kernel (plus réçent) est utile pour plusieurs choses :
Ligne 23: Ligne 23:
  
 //Il y a sûrement d'​autres raisons de le faire mais ce sont celles que j'ai retenues.// :-) //Il y a sûrement d'​autres raisons de le faire mais ce sont celles que j'ai retenues.// :-)
 +
  
 Testé sous stretch, future Debian Stable : Testé sous stretch, future Debian Stable :
Ligne 29: Ligne 30:
  
  
-<note importante>​Nous n'​avons pas besoin d'​être en root sauf pour installer les paquets apt au début et le kernel à la fin !</​note>​+<note importante>​Nous n'​avons pas besoin d'​être en rootsauf pour installer les paquets apt au début et le kernel à la fin !</​note>​ 
 + 
 + 
 +===== Étape 1 Prérequis et Dépendances =====
  
-==== Étape 1 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 :
-<code root>apt install build-essential fakeroot libncurses5-dev dpkg-dev libssl-dev bc gnupg</​code>​+<code root>apt install build-essential fakeroot libncurses5-dev dpkg-dev libssl-dev bc gnupg dirmngr</​code>​
  
 C'​est-à-dire : C'​est-à-dire :
Ligne 47: Ligne 51:
 Pour avoir un menu graphique de configuration des options: \\ Pour avoir un menu graphique de configuration des options: \\
    * Pour les DE basés sur **qt**:    * Pour les DE basés sur **qt**:
-<code root>apt install ​apt install libqt4-dev</​code>​ +<code root>apt install libqt4-dev</​code>​ 
-quand nous seront à l'​étape ​FIXME nous pourrons faire: +quand nous seront à l'**étape ​5** nous pourrons faire: 
-<​code ​root>make xconfig</​code>​+<​code ​user>make xconfig</​code>​
    * Pour les DE basés sur **gtk**:    * Pour les DE basés sur **gtk**:
 <code root>apt install libgtk2.0-dev libglade2-dev</​code>​ <code root>apt install libgtk2.0-dev libglade2-dev</​code>​
-quand nous seront à l'​étape ​FIXME nous pourrons faire: +quand nous seront à l'**étape ​5** nous pourrons faire: 
-<​code ​root>make gconfig</​code>​+<​code ​user>make gconfig</​code>​
  
-==== Étape 2 ====+===== Étape 2 Création répertoire de compilation =====
  
 <​note>​Les X remplacent des chiffres</​note>​ <​note>​Les X remplacent des chiffres</​note>​
Ligne 66: Ligne 70:
 <code user>cd ~/​kernel</​code>​ <code user>cd ~/​kernel</​code>​
  
-==== Étape 3 ====+===== Étape 3 Téléchargement et vérification de l'​intégrité du kernel =====
    
-<note important>​Les X remplacent des chiffres</​note>​ +Il faut télécharger ​le kernel (source et signature) depuis ce lien : 
-On repasse en user dans le terminal, ensuite on [[doc:systeme:tar|décompresse le kernel ​téléchargé]] avec cette commande : +  * [[https://​www.kernel.org/​|kernel.org]]  
-<code user>tar xvf linux-X.X-X.tar.xz</code>+<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échargerCette automatisation a été conçue pour les kernels de kernel.org.** Si vous compilez à partir d'​autres sources, il vous faudra comprendre le fonctionnement **gpg** et l'​automatisation (au copier collé par lignes) ne seras pas fonctionnelle.</note>
  
-<​note>​Je conseille de décompresser l'​archive dans [[doc:​systeme:​mkdir|un répertoire vide créé]] par exemple ​ainsi +Pour automatiser un peu, voici un exemple ​avec le kernel 4.10.14 (à changer par la version du kernel que vous voulez)
-<code user>mkdir nomdufichier</​code>​ +<code user>kversion=4.10.14 #​ la version du kernel à changer 
-pour qu'après ​la compilation vous ne cherchiez pas vos ''​.deb'' ​etc)</​note>​+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>​ 
 +Voilà, les prochaines fois, vous n'​aurez plus qu'à changer ​la variable ​'' ​kversion ​''​, les autres commandes ne changeront pas.
  
-Puis [[doc:​programmation:​shell:​cd|on se rend]] dans l'archive décompressée ​:+Ensuite vérification (à partir de l'exemple précédant),​ à reproduire en fonction de votre kernel:
  
-<code user>cd linux-X.X-X/</​code>​+<code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</code> 
 +<​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>​ 
 +on extrait la clé, **signature inconnue**, on va la chercher: 
 +<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 
 +gpg: no ultimately trusted keys found 
 +gpg: Total number processed: 1 
 +gpg: imported: 1</​code>​ 
 +on recommence 
 +<code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</​code>​ 
 +<​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>​ 
 +Voilà, super la signature est ok :\\ 
 +''​Good signature from "Greg Kroah-Hartman...''​\\ 
 +Même si la clé n'est pas signée avec une signature de confiance.\\
  
-==== Étape 4 ====+En cas de **"BAD signature"​**,​ vérifier:​ 
 + * la procédure 
 + * le chargement 
 + * contacter ftpadmin@kernel.org immédiatement pour investigation 
 + 
 +''​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é. \\ 
 +Voir les signataires:​ 
 +<code user>gpg --list-sigs ABAF11C65A2970B130ABE3C479BE3E4300411886</​code>​ 
 +===== Étape 4 Décompression ===== 
 +  
 +On [[doc:​systeme:​tar|décompresse le kernel téléchargé]] avec cette commande : 
 +<code user>tar -xaf linux-$kversion.tar.xz</​code>​ 
 + 
 +On se **déplace dans le nouveau dossier** créé par la décompression 
 +<code user>cd linux-$kversion</​code>​ 
 + 
 +===== Étape 5 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 :
 +
 +==== 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 :
  
-  * 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. 
-  ​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> ​+  ​ 
 + <​note>​Pour les kernels plus anciens, il faudra peut-être copier la configuration de votre kernel actuel sous forme de .config
  
-Puis faire une des trois commandes suivantes au choix : +<code user>cp /​boot/​config-votreKernelActuellementActifOuPrecedant .config</​code>​</​note>​
-<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)).+
  
 +Puis faire une des trois commandes suivantes **au choix** :
 +<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). ​
 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 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 105: Ligne 152:
  
 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 :
-<code user>make menuconfig</​code>​+   * '' ​make menuconfig''​ en console ncurse
  
 +Vous pouvez aussi utilisez une interface graphique plus confortable pour naviguer dans toutes ces options, selon le DE :
 +   * ''​make gconfig''​ en graphique pour interfaces ou DE basés sur gtk.
 +   * ''​make xconfig''​ en graphique pour interfaces ou DE basés sur qt.
  
-**ATTENTION !** j'ai dû commenter deux lignes du .config après avoir configuré ​les kernel avec les commandes précédentes et celle de l'​annexe optionnelle) : +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 rajoutant des options. 
-<file config>​CONFIG_MODULE_SIG_KEY=""<​/file> +  * consulter ''​~/kernel/linux-4.X.X/README''​ 
-et : +  * l'​index de la documentation du kernel ​se trouve dans ''​~/​kernel/​linux-4.x/​Documentation/​00-INDEX''​à lire pour aller plus loin 
-<file config>​CONFIG_SYSTEM_TRUSTED_KEYS="​debian/certs/​XXXX@debian.org.cert.pem"<​/file> +Remarque: à partir du noyau 4.10la doc intéressante est déplacéemais c'est indiqué dans le ''​README''​
-avec les kernel 4.9 et 4.10-rc1 et rc2sinon on obtient : +
-<​code>​une erreur de compilation</​code>​ +
-Voir [[https://​debian-facile.org/​viewtopic.php?​pid=206257#​p206257|Cette discussion]] bas post #27 et piste dans le post #2 de la discussion liée à ce tutoriel dans l'​entête\\ +
-Il semble donc quesoi par commandesoi par configuration (par ''​make menuconfig'' ​ou par édition du fichier .config), qu'il faille désactiver les ''​trusted_keys''​ (ce que j'ai dû désactiver) ; c'est sûrement valable pour d'​autres versions du kernel.+
  
-==== Étape ​5 ====+==== 5.2 Désactiver les clés du kernel ==== 
 + 
 +Obligatoire pour éviter erreur de compilation et éventuellement utiliser ses clés propres 
 +En savoir plus: https://​lists.debian.org/​debian-kernel/​2016/​04/​msg00579.html 
 + 
 +<code user>​./​scripts/​config -d CONFIG_MODULE_SIG_ALL -d CONFIG_MODULE_SIG_KEY -d CONFIG_SYSTEM_TRUSTED_KEYS</​code>​ 
 + 
 +==== 5.3 Ne pas compiler de debug ==== 
 + 
 +Ne pas compiler le fichier de symboles dbg : 
 +<code user>​./​scripts/​config -d CONFIG_DEBUG_INFO</​code>​ 
 +ce n'est pas obligatoire,​ mais permet un gain de 38%. 
 + 
 + 
 +===== Étape 6 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 -j$(nproc) ​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>​
  
-=== Explication ​===+A cause de l'​**étape 5 2nde sous-partie** il se pourrait que vous le terminal vous demande de valider ou d'​écrire quelque chose, tapez ''​**entrée**''​ à chaque fois. 
 +<note important>​ 
 +Vous pouvez aussi aussi remplacer ''​deb-pkg''​ par ''​bindeb-pkg''​ cela permettra de ne pas compiler ​   
 +  * linux...debian.tar.gz 
 +  * linux...dsc 
 +  * linux...orig.tar.gz 
 +Cela permet d'​avoir encore de compiler en moins de temps en plus du temps gagné si vous désactivez le **dgb étape 5.3**</​note>​ 
 +==== 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. 
-  ​-''​**-jX**'' ​ici, le X est à remplacer par le nombre de ''​threads'' ​//pour en savoir le nombreutiliser htop du paquet du même nom et c'est le nombre au dessus de ''​Mem'' //vers les ''​cores''​ que vous avez dans le processeur ​de votre machine (ce n'est pas obligatoire,​ mais cela permet d'​augmenter la vitesse de compilation,​ le processeur travaillant en entier sur tout ces cores avec tout ses threads avec cette option. +  ​''​**-j$(nproc)**'' ​on attribue tous les ''​threads'' ​possibleson peut remplacer ​''​**$(nproc)**'' ​par le nombre de threads voulu en ne dépaçant pas le nombre maximum de threads maximum ​de votre processeur \\ 
-  ​-**LOCALVERSION=-nomanecdotique**, cette option est optionnelleelle sert à nommer son kernel, ​pour cela, ici, il faut remplacer ''​nomanecdotique''​ par le nom que vous voulez, mais pas de lettres majuscules ​car sinon vers la fin de la compilation ​cela feras une erreur ''​caractère non autorisé = la(les) ​lettres ​en majuscule''​. +   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. 
-  ​-**KDEB_PKGVERSION=$(make kernelversion)-1**,​ optionnel, donne une versions ​aux paquets construits à la fin.+  ​**LOCALVERSION=-$(dpkg --print-architecture)**, optionnel, sert à nommer son kernel, ​au plus près du nommage Debian \\ 
 +    vous pouvez aussi comme dans l'​exemple avec ''​nomanecdotique'' ​remplacer ''​nomanecdotique''​ par un nom custom, 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 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 ​====+===== Étape ​7 Contemplation =====
    
-Maintenant  ​il va falloir sortir de l'​archive ​:+Maintenant  ​on remonte pour voir les fichier crées ​:
 <code user>cd ..</​code>​ <code user>cd ..</​code>​
 Puis, [[doc:​systeme:​superutilisateur|passez en root]] et [[doc:​systeme:​ls|listez le contenu du répertoire]] : Puis, [[doc:​systeme:​superutilisateur|passez en root]] et [[doc:​systeme:​ls|listez le contenu du répertoire]] :
-<​code ​root>​ls</​code>​+<​code ​user>​ls</​code>​
 Vous devriez avoir obtenu les fichiers : Vous devriez avoir obtenu les fichiers :
-<​code>​linux-X.X-X-nomanecdotique_X.X-X-1_amd64.changes +<​code>​ linux-X.X-X-architecture_X.X-X-1_architecture.changes 
-linux-X.X-Xnomanecdotique_X.X-X-1.debian.tar.gz + ​linux-X.X-X-architecture_X.X-X-1.debian.tar.gz 
-linux-X.X-X-nomanecdotique_X.X-X-1.dsc + ​linux-X.X-X-architecture_X.X-X-1.dsc 
-linux-X.X-X-nomanecdotique_X.X-X-nomanecdotique.orig.tar.gz + ​linux-X.X-X-architecture_X.X-X-architecture.orig.tar.gz 
-linux-firmware-image-X.X-X-nomanecdotique_X.X-X-1_amd64.deb + ​linux-firmware-image-X.X-X-architecture_X.X-X-1_architecture.deb 
-linux-headers-X.X-X-nomanecdotique_X.X-X-1_amd64.deb + ​linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb 
-linux-image-X.X-X-nomanecdotique_X.X-X-1_amd64.deb + ​linux-image-X.X-X-architecture_X.X-X-1_architecture.deb 
-linux-image-X.X-X-nomanecdotique-dbg_X.X-X-1_amd64.deb + linux-libc-dev_X.X-X-1_architecture.deb</​code>​ 
-linux-libc-dev_X.X-X-1_amd64.deb</​code>​ + 
-Sans compter les fichiers qui étaient présents avant.+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 avez utilisé "​bindeb-pkg" à **l'​étape 6** dans la note importante vous pouvez voir à cette étape les trois permiers paquets listé ci-dessus n'​apparaissent pas et c'est normal, c'est pour cela que vous avez utilisés cet argument :-
 + 
 +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 ​====+===== Étape ​8 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.
 +<code root>​dpkg -i linux-image-X.X-X-architecture_X.X-X-1_architecture.deb linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb</​code>​
 +(vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout installer)\\ ​
 +Pour Déinstaller:​
 +<code root>​dpkg -P linux-image-X.X-X-architecture_X.X-X-1_architecture.deb ​
 +dpkg -P linux-headers-X.X-X-architecture_X.X-X-1_architecture.deb</​code>​
 +(vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout déinstaller en faisant attention à bien être dans le bon répertoire)\\
  
-Il faut donc installer les .deb avec:   ​+__Vous pouver aussi déinstaller ​avec apt.__ 
 +<note warning>​Moi sur la plupart des macines sur lesquelles j'ai appliqué le tutoriel j'​avais ensuite un message au boot de ''​pcspkr is already registered''​ du coup j'ai dû le blacklister<code root>​echo blacklist pcspkr > /​etc/​modprobe.d/​blacklist-pcspkr.conf</​code></​note>​
  
-<code root>​dpkg -i ''​lesPaquets.deb''​</code>+==== Avertissement ==== 
 +__Dans ​''​/​etc/​kernel/​postinst.d/​apt-auto-removal'' ​:​__''​\\ 
 +// # Mark as not-for-autoremoval those kernel packages that are://\\ 
 +// #//\\ 
 +// #  - the currently booted version//​\\ 
 +// #  - the kernel version we've been called for//\\ 
 +// #  - the latest kernel version (as determined by debian version number)//​\\ 
 +// #  - the second-latest kernel version//​\\ 
 +// #//\\ 
 +// # In the common case this results in **two** kernels saved (booted into the//\\ 
 +// # 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//\\ 
 +// # potentially be installed in multiple flavours counting as one kernel.//''​
  
-(nous avons donc, pour nous, seulement besoin d'​installer les ''​.deb'​', ​et accessoirement garder les autres fichiers)+Ce script n'est peut-être présent que sur Stretchpas sur Jessie (à vérifier)
  
-On reboot la machine et cela devrait fonctionner.  ​8-)+Il faut que je teste un peu plus, mais généralement,​ il ne reste que 2 noyaux installés\\ 
 +N'​installez jamais plusieurs version de noyaux sans vérifier que l'​avant dernier fonctionne, sinon... 
 +  * désinstallez un noyau qui ne convient pas auparavant 
 +  * ou an//nul//ez ce script
  
-==== Conclusion et Sources ====+Pas testé, mais logiquement ça pourrait ressembler à ça : 
 +<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>​
  
-**Bravo! vous avez une machine avec le kernel de votre choix!**+===== Conclusion et Sources =====
  
-**Source: [[https://​debian-handbook.info/​browse/​fr-FR/​stable/​sect.kernel-compilation.html|ce lien en section 8.10.4]]** +**Bravo! vous avez une machine avec le kernel ​de votre choix!**
-**, Toute la page est intéressante pour tous les Fous-faciles:-)**+
  
-Excusez mon Français approximatif au niveau des tournures de phrases, je tente de corriger mais je ne suis pas très bon de ce côté làc'est d'​ailleurs un des domaines ​pour lesquels vous pouvez contribuer tant que cela reste cohérent avec le tutoriel.+**A voir aussi 
 +[[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! :-)**
doc/systeme/kernel/compiler.txt · Dernière modification: 01/10/2023 11:30 par captnfab

Pied de page des forums

Propulsé par FluxBB