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 [13/05/2017 21:36]
arpinux [1 Notes avant de commencer] syntaxe&ortho
Ligne 1: Ligne 1:
-====== Compiler un kernel ​de kernel.org ​======+====== Compiler un kernel ​pour debian ​======
  
   * Objet : Compiler d'une source externe.   * Objet : Compiler d'une source externe.
-  * Niveau requis : {{tag>avisés}} +  * Niveau requis : {{tag>Tout-niveau}} 
-  * Commentaires : //Compiler un kernel d'une source externe aux dépôts Debian (ici celui de [[https://​www.kernel.org/​|kernel.org]]) //  +  * Commentaires : // Tout est dans le titre :-)//  
-  * Débutantà savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +  * CrééRédigé et Testé par [[user>​naguam]] 
-  * Suivi : {{tag>​placé à-tester}}  +  * 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! )) 
-    * Création par [[user>​naguam]] 03/​01/​2017 +
-    * Rédaction écrite en plus grande partie par [[user>​naguam]]  +
-    * Testé par [[user>​naguam]] ​le 02/01/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 !)) +
  
-Voir aussi le tuto : +===== 1 Notes avant de commencer =====
-* [[doc:​systeme:​noyau:​compiler | compiler un noyau]]+
  
-==== Introduction ====+  * Ce tutoriel est destiné à toute personne, qui si elle le veut, devrait pouvoir presque tout faire au copier-collé excepté certaines choses comme ''​le passage en root''​ ou ''​le repassage en user''​ que nous considérons comme acquis, ou encore réfléchir un petit peu à la partie sécurité\\
  
-Compiler un kernel (plus réçent) est utile pour plusieurs choses : +  * Les plus expérimentés ou ceux qui veulent aller plus loin, trouveront en bas de la page des liens pour une exploitation plus poussée ​de la technique (par exemple ​pour patcher.).\\
-  - Pour les maniaques, juste avoir le kernel le plus réçent ! 8-o +
-  - Bénéficier ​des nouvelles fonctionnalités offertes par celui-ci. +
-  - Avoir une meilleure reconnaissance matérielle. +
-  - Pouvoir peaufiner les options ​de compilations ​pour ses besoins+
  
-//Il y a sûrement ​d'autres raisons de le faire mais ce sont celles ​que j'ai retenues.// :-)+  * Dans ce tutoriel, l'​explication sera faite d'une manière ''​Nous allons ​faire etc''​ et ''​vous'',​ comme si c'​était une personne réelle qui vous assistait pour que vous enregistriez au mieux les informations basiques qui seront expliquées au plus simple pour que vous n'ayez ensuite plus besoin du tutoriel pour le faire.\\
  
-Testé sous stretchfuture Debian Stable :+  * Nous allons aborder la partie sécurité au plus simplemais elle mérite une attention certaine.\\
  
-**Je rappelle pour les personnes non-habituées ​et les habitués tête en l'air, qu'il faut bien tout lire.**+  ​Si vous êtes sur ce tutoriel, c'est que vous voulez compiler un kernel : nous n'​allons pas répéter ​les raisons de le faire, mais sachez que ce tutoriel est à appliquer à vos risques ​et périls ! Votre responsabilité.\\
  
 +  * Lisez le tutoriel **dans sa totalité** et respectez bien les ''​codes en **user** ou **root**''​ car il est préférable d'​utiliser le root le moins possible : normalement le root n'est nécessaire que pour l'​installation des dépendances et l'​installation du kernel à la fin.\\
  
-<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>​+===== 2 C'est parti! Prérequis=====
  
-==== Étape ​1 Dépendances ====+==== 2.Les Dépendances ====
  
-Installer ​les paquets ​+Alors déjà, soyez sûr avant de commencer que vous avez suffisamment de stockage libre pour les dépendances mais aussi car la compilation crééra des paquets ​(10GB ou plus conseillés)\\
-<code root>apt install build-essential fakeroot libncurses5-dev dpkg-dev libssl-dev bc gnupg</​code>​+
  
-C'​est-à-dire : +Il nous faudra donc ensuiteinstaller ​des dépendances nécessaires à la compilation (en root)\\
-   - le compilateur et ses utilitaires principauxce qui va nous permettre de compiler en user +
-   - et un utilitaire de configuration du kernel +
-   - gpg pour contôler la signature ​des sources +
-    +
-Ce qui //​normalement//​ : +
-      - permettra ​la contruction des packages, +
-      - permettra de configurer votre kernel par rapport à votre machine.+
  
-Pour avoir un menu graphique de configuration des options: \\ +<code root>apt install ​build-essential fakeroot dpkg-dev libssl-dev bc gnupg dirmngr libncurses5-dev </​code>​
-   * Pour les DE basés sur **qt**: +
-<code root>apt install ​apt install libqt4-dev</​code>​ +
-quand nous seront à l'​étape FIXME nous pourrons faire: +
-<code root>​make xconfig</​code>​ +
-   * Pour les DE basés sur **gtk**: +
-<code root>apt install libgtk2.0-dev libglade2-dev</​code>​ +
-quand nous seront à l'​étape FIXME nous pourrons faire: +
-<code root>​make gconfig</​code>​+
  
-==== Étape ​2 ====+==== 2.2 Répertoire de compilation ​====
  
-<​note>​Les X remplacent des chiffres</​note>​+Nous allons créer un repertoire de compilation,​ c'est très fortemment conseillé puis nous allons aller dedans (en user!!)
  
-On va télécharger dans son dossier personnel, ​ dans un sous-dossier ​//kernel//.+<code user>​mkdir ~/compilation && cd ~/compilation<​/code>
  
-On [[doc:​systeme:​mkdir|crée le dossier]] : +==== 2.3 Les sources ====
-<code user>​mkdir ~/​kernel</​code>​ +
-On [[doc:​systeme:​tar|se déplace dedans]] : +
-<code user>cd ~/​kernel</​code>​+
  
-==== Étape 3 ==== +Bien sûr il nous faut télécharger la source du kernel et la signature pour vérification de l'​intégrité du kernel. \\ 
-  +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)\\ 
-<note important>​Les X remplacent des chiffres</​note>​ +Vous devez avoir des fichiers qui ce terminent par ''​.tar.xz''​ et ''​.tar.sign''​\\
-On repasse en user dans le terminal, ensuite on [[doc:systeme:tar|décompresse le kernel ​téléchargé]] avec cette commande : +
-<code user>tar xvf linux-X.X-X.tar.xz</​code>​+
  
-<​note>​Je conseille de décompresser l'​archive ​dans [[doc:​systeme:​mkdir|un ​répertoire ​vide créé]] par exemple ainsi : +__**Téléchargez vos sources ​dans votre répertoire ​de compilation ​créé juste avant!**__
-<code user>​mkdir nomdufichier</​code>​ +
-pour qu'​après la compilation ​vous ne cherchiez pas vos ''​.deb''​ etc)</​note>​+
  
-Puis [[doc:​programmation:​shell:​cd|on se rend]] ​dans l'archive décompressée :+Par simplicité ​dans les commandes suivantes, nous allons taper une petite commande dans un terminal (cette fois en user)\\ 
 +**Attention! les X sont à remplacer par la version du kernel que vous avez téléchargé sur ''​kernel.org''​**\\ 
 +<note important>​**Si vous utilisez d'​autres sources que le kernel de kernel.org vous devez passer cette étape**, mais dans des commandes futures, **vous devrez remplacer** ''​linux-$kversion.tar.xz'',​ ''​linux-$kversion.tar.sign''​ et ''​linux-$kversion'​' ​par les équivalent que vous avez téléchargés auparavant.</​note>​
  
-<code user>cd linux-X.X-X/</​code>​+<code user>kversion=X.X.X</​code>​
  
-==== Étape ​4 ====+==== 2.Vérification de l'​intégrité du kernel /!\ Important pour la sécurité! ​====
  
-Maintenant, ​dans cette étape, on va s'occuper ​de la configuration ​du kernel :+Maintenant ​nous allons passer à la vérification des sourcespour prouver l'​intégritée des fichiers 
 +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 tutotiel lien en haut de page
  
-Il est conseillé ​de restaurer ​la configuration actuellepour ce faire, on peut faire au choix les commandes ​de type **make oldconfig** suivantes ​:+Si vous avez utilisé les sources ​de kernel.org (voir la sous étape précédante)vous n'avez qu'a copier collé et lire une ou deux choses ​de retours ​:-)\\ 
 +Si vous n'avez pas utilisé les sources du kernel.org voir l'​encadré /!\ précédant.\\
  
-  * 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. +Donc là nous allons commencer ​la vérification (en user)
-  * 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> ​+
  
-Puis faire une des trois commandes suivantes au choix : +<code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</​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)).+
  
-Ou : +Attention ​à ne pas oublier le ''​**-**''​ à la fin\\
-<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.+
  
-Ou encore : +Cela devrait ​vous retourner quelque chose ressemblant à cet **exemple** ​(même si la ''​RSA key'' ​sera différente selon vos sources)\\
-<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. +
-<note tip>Si vous avez un doute, appuyez sur la touche ​''​entrée''​.</​note>​+
  
-=== Annexe optionnelle ​===+<​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 pour l'​instant 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 c'est parfais vous pouvez passer à l'​étape suivante\\ 
 + 
 +Dans un 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\\ 
 + 
 +Par contre nous pouvons ignorer le ''​WARNING''​\\ 
 + 
 +===== 3 Décompression et préparation des sources pour la compilation du kernel! ​===== 
 + 
 +==== 3.1 Décompression ==== 
 + 
 +Nous avons fini les prérequis, nous allons maintenant préparer nos sources pour la compilation donc nous allons déjà commencer par [[doc:​systeme:​tar|décompresser]] nos sources (en user) puis nous allons aller dans nos sources décompressées pour l'​étape suivante\\ 
 + 
 +<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>​ 
 + 
 +==== 3.2 Configuration et préparation des sources ==== 
 + 
 +Maintenant, nous allons configurer notre kernel avec nos options voulues (ici comme presque toujours, les commandes seront appliquées en user)\\ 
 + 
 +Pour les moins expérimentés ou ceux qui n'ont pas envie de se casser la tête vous pouvez faire la commande suivante\\ 
 + 
 +<code user>​make olddefconfig</​code>​ 
 + 
 +Cette commande va chercher la configuration de votre kernel actuel et met toutes les nouvelles options en "par default"​\\ 
 + 
 +Pour les plus expérimentés,​ ou les personnes bidouilleuse,​ ou même encore les personnes qui ont besoins d'​options activées en particulier,​ vous pouvez faire cette commande\\
  
-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>​ <code user>​make menuconfig</​code>​
  
 +Pour plus d'​infos sur les options de configuration,​ les informations seront en bas de page.\\
  
-**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) : +**Ensuite nous devons désactiver les clef du kernel ​car sinon nous aurons droit à une belle erreur de compilation**\\
-<file config>​CONFIG_MODULE_SIG_KEY=""</​file>​ +
-et : +
-<file config>​CONFIG_SYSTEM_TRUSTED_KEYS="​debian/​certs/​XXXX@debian.org.cert.pem"</​file>​ +
-avec les kernel 4.9 et 4.10-rc1 et rc2, sinon 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 que, soi par commande, soi 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 ====+<code user>​./​scripts/​config -d CONFIG_MODULE_SIG_ALL -d CONFIG_MODULE_SIG_KEY -d CONFIG_SYSTEM_TRUSTED_KEYS</​code>​
  
-Nous allons maintenant pouvoir nous mettre à compiler ! \\ +Maintenant __**si vous êtes bourrin et que vous voulez tout créer passez en étape 4.1**__, sinon pour optimiser ​le temps de compilation continuez de lire :)\\
-Selon la manière ​que je vais vous présenter : +
-  - il créera les packages ​pour ensuite +
-  - installer ​le kernel.+
  
-<code user>​fakeroot make deb-pkg -jX LOCALVERSION=-nomanecdotique KDEB_PKGVERSION=$(make kernelversion)-1</​code>​+**Nous allons enlever le paquet debug ''​**dbg**''​ car il ne sert en général qu'aux développeurs,​ cela nous permettra de compiler en moins de temps**\\
  
-=== Explication ===+Pour ce faire nous allons faire la commande suivante\\
  
-  -**fakeroot** va nous permettre de compiler sans être en ''​root''​ +<code user>./scripts/config -d CONFIG_DEBUG_INFO<​/code>
-  -**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 nombre, utiliser 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. +
-  -**LOCALVERSION=-nomanecdotique**,​ cette option est optionnelle,​ elle 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''​. +
-  -**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 et 4h de compilation). \\ +Voilà, nous pouvons maintenant passer à la fameuse compilation,​ d'​autres options pour optimiser le temps de compilation seront indiquées. \\ 
-//Vous avez donc le temps de boire un thé ou un café, manger des Chocos-DF et d'​écouter du hard-rock// ​:-O+Vous pouvez passer en 4.2 nous avons commencé à optimiser le temps, nous allons continuer :-)\\ 
 + 
 +===== 4 C'est parti pour la compilation! La fameuse! (toujours en user et oui!) ===== 
 + 
 +<note important>​Il est fort possible que nous ayez des questions a répondre au moment de la compilation,​ tapez ''​**entrée**''</​note>​ 
 + 
 +==== 4.1 Pour la compilation bourin (indiquée soulignée et gras dans la partie précédante) ==== 
 + 
 +Nous pouvons donc nous mettre à compiler\\ 
 + 
 +<code user>​fakeroot make deb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1</​code>​ 
 + 
 +<​note>//​Maintenant, suivant la puissance de votre processeur, cela va prendre un peu de temps (10 min si vous avez un processeur très puissant genre intel core i7 overclocké ​ou amd ryzen, ​et une semaine pour un pIImmx, en tout cas dans la plupart des cas des machines actuelles, c'est environ entre 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!!//</​note>​ 
 + 
 +Ensuite, passez à __**l'​étape 4.3**__ si vous voulez explications simples pour juste certaines parties de la commande\\ 
 +Sinon passez directement à __**l'​étape 5**__\\ 
 + 
 +==== 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 pouvons nous mettre à compiler\\ 
 + 
 +<code user>​fakeroot make bindeb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1<​/code> 
 + 
 +<​note>​//​Maintenant,​ suivant la puissance de votre processeur, cela va prendre un peu de temps (10 min si vous avez un processeur très puissant genre intel core i7 overclocké ou amd ryzen, et une semaine pour un pIImmx, en tout cas dans la plupart des cas des machines actuelles, c'est environ entre 1 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!!//</​note>​ 
 + 
 +Ensuite, passez à __**l'​étape suivante (4.3)**__ si vous voulez explications simples pour juste certaines parties de la commande\\ 
 +Sinon passez directement à __**l'​étape 5**__\\ 
 + 
 +==== 4.3 Explications basiques ==== 
 + 
 +  * ''​**-j$(nproc)**''​ prend le nombre de threads total de votre processeur (la compilation sera la plus rapide possible), pour les connaisseurs,​ vous pouvez mettre ''​**-jX**''​ en remplaçant X par le nombre de cores que vous voulez allouer dans la limite du nombre de threads maximums, **c'​est optionnel sans cet argument, cela n'​utilisera qu'un seul thread** \\ 
 + 
 +  * ''​**LOCALVERSION=-$(dpkg --print-architecture)**''​ cela donne le nom custom de votre architecture,​ vous pouvez aussi mettre un nom custom sans majuscules derrière ''​**LOCALVERSION=-**'',​ c'est ** un argument optionnel**\\ 
 + 
 +  * ''​**KDEB_PKGVERSION=$(make kernelversion)-1**''​ cet argument sert à versionner le kernel ''​**1**''​ (soit version 1) **c'​est encore optionnel mais il est conseillé** \\ 
 + 
 +===== 5 Installation ou déinstallation des paquets ===== 
 + 
 +Tout d'​abord nous devons aller dans le répertoire précédant
  
-==== Étape 6 ==== 
-  
-Maintenant ​ il va falloir sortir de l'​archive : 
 <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]] : 
-<code root>​ls</​code>​ 
-Vous devriez avoir obtenu les fichiers : 
-<​code>​linux-X.X-X-nomanecdotique_X.X-X-1_amd64.changes 
-linux-X.X-Xnomanecdotique_X.X-X-1.debian.tar.gz 
-linux-X.X-X-nomanecdotique_X.X-X-1.dsc 
-linux-X.X-X-nomanecdotique_X.X-X-nomanecdotique.orig.tar.gz 
-linux-firmware-image-X.X-X-nomanecdotique_X.X-X-1_amd64.deb 
-linux-headers-X.X-X-nomanecdotique_X.X-X-1_amd64.deb 
-linux-image-X.X-X-nomanecdotique_X.X-X-1_amd64.deb 
-linux-image-X.X-X-nomanecdotique-dbg_X.X-X-1_amd64.deb 
-linux-libc-dev_X.X-X-1_amd64.deb</​code>​ 
-Sans compter les fichiers qui étaient présents avant. 
  
-Les fichiers se terminant par ''​.deb''​ sont les paquets installables directementles autres sont les nouvelles sources, les modifications apportées enregistrées dans le ''.change'' et la signature des clefs.+Ensuitepour installer le kernelnous devons au minimum installer l'​image et les headers **mais je conseille d'installer tout les .deb créés si vous ne manquez pas d'espace de stockage.** (Nous fai
  
-==== Étape 7 ====+<code root>​dpkg -i *.deb</​code>​
  
 +Pour Déinstaller:​
  
-Il faut donc installer les .deb avec:   +<code root>​dpkg -P *.deb</​code>​
  
-<code root>​dpkg -i ''​lesPaquets.deb''<​/code>+**/!\ À bien être dans le bon répertoire /!\** 
  
-(nous avons donc, pour nous, seulement besoin d'​installer les ''​.deb'',​ et accessoirement garder les autres fichiers)+__Vous pouver aussi déinstaller avec apt.__
  
-On reboot ​la machine et cela devrait fonctionner 8-)+<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>​
  
-==== Conclusion et Sources ​====+==== 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.//''​
  
-**Bravo! vous avez une machine avec le kernel de votre choix!**+Ce script n'est peut-être présent que sur Stretch, pas sur Jessie (à vérifier)
  
-**Source: [[https://debian-handbook.info/browse/fr-FR/stable/sect.kernel-compilation.html|ce lien en section 8.10.4]]** +Il faut que je teste un peu plus, mais généralement,​ il ne reste que 2 noyaux installés. \\ 
-**, Toute la page est intéressante pour tous les Fous-faciles:-)**+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 
 + 
 +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>​ 
 + 
 +===== Conclusion et Sources ===== 
 + 
 +**Bravo! vous avez une machine avec le kernel de votre choix!**
  
-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