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 Prochaine révision Les deux révisions suivantes | ||
doc:systeme:kernel:compiler [08/05/2017 20:33] naguam [Conclusion et Sources] |
doc:systeme:kernel:compiler [11/05/2017 09:47] naguam [Étape 1 Prérequis et Dépendances] |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
* Création par [[user>naguam]] 03/01/2017 | * Création par [[user>naguam]] 03/01/2017 | ||
* Écrit très 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 !)) | ||
Ligne 29: | Ligne 29: | ||
- | <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 root, sauf pour installer les paquets apt au début et le kernel à la fin !</note> |
- | ======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 : | ||
- | <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 49: | Ligne 51: | ||
* Pour les DE basés sur **qt**: | * Pour les DE basés sur **qt**: | ||
<code root>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 Création répertoire de compilation ===== | ===== Étape 2 Création répertoire de compilation ===== | ||
Ligne 71: | Ligne 73: | ||
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 sources, il vous faudra comprendre le fonctionnement **gpg** et l'automatisation (au copier collé par lignes) ne seras pas fonctionnelle.</note> |
- | Pour automatiser un peu; voici un exemple avec le kernel 4.10.14: | + | |
- | <code user>cd ~ # on va dans son répertoire perso | + | Pour automatiser un peu, voici un exemple avec le kernel 4.10.14 (à changer par la version du kernel que vous voulez): |
- | kversion=4.10.14 # la version du kernel à changer | + | <code user>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 -</code> |
<code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | <code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | ||
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 92: | Ligne 94: | ||
gpg: imported: 1</code> | gpg: imported: 1</code> | ||
on recommence | on recommence | ||
- | <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 -</code> |
<code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | <code>gpg: Signature made mer. 03 mai 2017 17:38:11 CEST | ||
gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E | ||
Ligne 99: | Ligne 101: | ||
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 :\\ |
- | + | ''Good signature from "Greg Kroah-Hartman...''\\ | |
- | <>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. | + | |
En cas de **"BAD signature"**, vérifier: | En cas de **"BAD signature"**, vérifier: | ||
Ligne 110: | Ligne 110: | ||
* 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</> | + | ''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 4 Décompression ===== | |
- | ===== Étape 5 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 : | ||
- | <code user>tar -xaf linux-X.X-X.tar.xz</code> | + | <code user>tar -xaf linux-$kversion.tar.xz</code> |
On se **déplace dans le nouveau dossier** créé par la décompression | On se **déplace dans le nouveau dossier** créé par la décompression | ||
- | <code user>cd linux-X.X-X/</code> | + | <code user>cd linux-$kversion</code> |
- | ===== Étape 6 Configuration des options du noyau ===== | + | ===== É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 : | ||
- | ==== 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 133: | Ligne 132: | ||
* **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** : | ||
<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> | ||
- | |||
- | 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 === | ||
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 rajoutant 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'' | ||
- | ==== 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 173: | Ligne 169: | ||
<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 7 Compilation ===== | + | ===== É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> | <code user>fakeroot make deb-pkg -j$(nproc) LOCALVERSION=-$(dpkg --print-architecture) KDEB_PKGVERSION=$(make kernelversion)-1</code> | ||
- | ===== Explications ===== | + | 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. |
+ | |||
+ | ==== 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, on peut remplacer ''**$(nproc)**'' par le nombre de threads voulu en ne dépaçant pas le nombre maximum de threads maximum de votre processeur \\ |
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 8 Contemplation ===== | + | ===== Étape 7 Contemplation ===== |
Maintenant on remonte pour voir les fichier crées : | Maintenant on remonte pour voir les fichier crées : | ||
Ligne 210: | Ligne 208: | ||
<code user>ls</code> | <code user>ls</code> | ||
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 9 Installation et/ou déinstallation du kernel ===== | + | ===== É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. | 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> | <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) | + | (vous pouvez rajouter les autres paquets après ou directement *.deb si vous voulez tout installer)\\ |
Pour Déinstaller: | Pour Déinstaller: | ||
<code root>dpkg -P 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> | <code root>dpkg -P 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> | ||
Ligne 234: | Ligne 234: | ||
__Vous pouver aussi déinstaller avec apt.__ | __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> | ||
- | + | ==== 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//\\ | ||
// # - the kernel version we've been called for//\\ | // # - the kernel version we've been called for//\\ | ||
Ligne 246: | Ligne 248: | ||
// # 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 258: | Ligne 260: | ||
<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 ===== | ||
**Bravo! vous avez une machine avec le kernel de votre choix!** | **Bravo! vous avez une machine avec le kernel de votre choix!** | ||
- | **A voir aussi** | + | **A voir aussi |
- | *[[https://debian-handbook.info/browse/fr-FR/stable/sect.kernel-compilation.html|ce lien en section 8.10.4]]* | + | [[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! :-)** | + | Toute la page est intéressante pour tous les Fous-faciles! :-)** |