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:40] naguam [Explications] |
doc:systeme:kernel:compiler [08/05/2017 20:57] naguam [Étape 6 Configuration des options du noyau] |
||
---|---|---|---|
Ligne 71: | Ligne 71: | ||
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: | + | |
+ | 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 | ||
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 - | grep ^.*key</code> | ||
Ligne 85: | Ligne 86: | ||
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 100: | Ligne 101: | ||
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 (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. | ||
Ligne 110: | Ligne 109: | ||
* 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</> | + | <quote> WARNING: This key is not certified with a trusted signature</quote> |
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 5 Décompression ===== | ===== Étape 5 Décompression ===== | ||
Ligne 139: | 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 155: | 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'' | ||