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:44] naguam [Étape 3 Téléchargement et vérification de l'intégrité du kernel] |
doc:systeme:kernel:compiler [08/05/2017 21:02] naguam [Étape 6 Configuration des options du noyau] |
||
---|---|---|---|
Ligne 73: | Ligne 73: | ||
<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> | <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: | + | Pour automatiser un peu, voici 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 | ||
Ligne 100: | Ligne 100: | ||
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 109: | ||
* 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: | ||
Ligne 137: | 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 153: | 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 : | ||
- | * '' 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'' | ||
Ligne 171: | 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 ==== | + | ==== 6.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%. |
Ligne 234: | Ligne 233: | ||
- | <note>__Dans ''/etc/kernel/postinst.d/apt-auto-removal'' :__\\ | + | <note>__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 244: | Ligne 243: | ||
// # 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) |