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
doc:systeme:kernel:compiler [13/04/2021 16:29]
jpt [5 Installation ou désinstallation des paquets]
doc:systeme:kernel:compiler [01/10/2023 11:30] (Version actuelle)
captnfab
Ligne 30: Ligne 30:
 Il nous faudra donc installer des dépendances nécessaires à la compilation (en root) Il nous faudra donc installer des dépendances nécessaires à la compilation (en root)
  
-<code root>apt install build-essential fakeroot dpkg-dev perl libssl-dev bc gnupg dirmngr ​libncurses5-dev libelf-dev flex bison lsb-release rsync</​code>​+<code root>apt install build-essential fakeroot dpkg-dev perl libssl-dev bc gnupg dirmngr ​libncurses-dev libelf-dev flex bison lsb-release rsync dwarves</​code>​
  
-[[https://​www.phoronix.com/​scan.php?​page=news_item&​px=Linux-Now-Needs-Flex-Bison|Flex et Bison sont des dépendances nécessaires ​à partir ​du 4.16]] à cause d'une modification du [[http://​www.tuxmachines.org/​node/​108705|kconfig pour la gestion]] ​du kernel dans un paquet pour snappy..Vive canonical (ironie :-/)+''​dwarves''​ est nécessaire avec la configuration debian ​à partir ​de debian bullseye, et uniquement si vous laissez ​la partie debug activée dans la suite du tutoriel.
  
-Il est possible ​que la version ​de `libncurses` ​ne soit pas "​5"​dans ce cas il suffit de remplacer `libncurses5-dev` par `libncurses-dev`+Si vous avez les dépôts src dans votre sources.list et que, n'​avoir ​que le minimum ​de dépendances ​ne vous importe ​pas, vous pouvez également faire (en root) 
 + 
 +<code root>apt build-dep linux</​code>​ 
 + 
 +Cela installera les dépendances exactes du kernel packagé dans debian; dépendances choisies et utilisées ​par les mainteneurs. 
 + 
 +Normalement ça s'​accorde assez bien avec une configuration faite avec ''​make olddefconfig'',​ que nous verrons plus tard dans le tutoriel.
  
 ==== 2.2 Répertoire de compilation ==== ==== 2.2 Répertoire de compilation ====
Ligne 65: Ligne 71:
 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 tutoriel (lien en haut de page). 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 tutoriel (lien en haut de page).
  
-Si vous avez utilisé les sources ​de kernel.org (voir la sous-étape précédente),​ vous n'avez qu'a copier-coller et lire une ou deux choses de retours :-)\\ +Cette procédure est bien expliquée sur le site officiel du noyau linux donc je conseille ​de la suivre en adaptant ​les commandes avec votre version ​du noyau.
-Si vous n'avez pas utilisé ​les sources ​du kernel.org, voir l'​encadré /!\ précédent.+
  
-Donc là nous allons commencer la vérification (en user)+[[https://​www.kernel.org/​signature.html | Lien explicatif ]]
  
-<code user>xz -cd linux-$kversion.tar.xz | gpg --verify linux-$kversion.tar.sign -</​code>​ +Vous pouvez utiliser un outil de traduction pour le lire en français ​si l'anglais est compliqué pour vous.\\ 
- +Pour plus d'aiden'hésitez pas à demander sur la page du forum reliée ​à ce tutoriel ​(lien en haut de page).
-Attention à ne pas oublier ​le ''​**-**''​ à la fin +
- +
-Cela devrait vous retourner quelque chose ressemblant à cet **exemple** (même ​si la ''RSA key''​ sera différente selon vos sources) : +
- +
-<​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 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 keygreg@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. Vous pouvez passer à l'​étape suivante. +
- +
-Dans le 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 Décompression et préparation des sources pour la compilation du kernel! =====
Ligne 129: Ligne 104:
 Pour plus d'​infos sur les options de configuration,​ les informations seront en bas de page. Pour plus d'​infos sur les options de configuration,​ les informations seront en bas de page.
  
-**Ensuite nous devons désactiver les clef du kernel car sinon nous aurons droit à une belle erreur de compilation**+**Ensuite nous devons désactiver les clefs du kernel car sinon nous aurons droit à une belle erreur de compilation** 
 + 
 +En effet le kernel debian est signé avec les clefs debian. Reprendre leur configuration c'est tenter de réutiliser leurs clefs, sauf que comme c'est pas le même kernel avec les même sources, ça va poser problème. 
 + 
 +Nous voulons donc générer de nouvelles clefs. La commande suivante permet donc de désactiver les actuelles, et au début de la compilation,​ deux validations (entrée pour une valeur par default) vous seront demandé et les nouvelles clef générées.
  
 <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>​
Ligne 201: Ligne 180:
 __Vous pouvez aussi désinstaller avec apt.__ __Vous pouvez aussi désinstaller avec apt.__
  
-<note warning>​Moi,​ sur la plupart des machines 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>​ (de plus pcspkr est un module kernel qui sert seulement au beeps systeme ​en tty par exemple quand on fait retour trop loin pour supprimer du texte)</​note>​+<note warning>​Moi,​ sur la plupart des machines 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>​ (de plus pcspkr est un module kernel qui sert seulement au beep système ​en tty par exemple quand on fait retour trop loin pour supprimer du texte)</​note>​
  
 ==== Avertissement ==== ==== Avertissement ====
Ligne 220: Ligne 199:
  
 Il faut que je teste un peu plus, mais généralement,​ il ne reste que 2 noyaux installés. \\ 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...+N'​installez jamais plusieurs ​versions ​de noyau sans vérifier que l'​avant-dernier fonctionne, sinon...
   * désinstallez un noyau qui ne convient pas auparavant   * désinstallez un noyau qui ne convient pas auparavant
   * ou an//nul//ez ce script   * ou an//nul//ez ce script
Ligne 234: Ligne 213:
 [[https://​www.kernel.org/​doc/​html/​latest/​index.html|La doc officielle de kernel.org]]\\ [[https://​www.kernel.org/​doc/​html/​latest/​index.html|La doc officielle de kernel.org]]\\
 [[https://​www.kernel.org/​doc/​html/​latest/​process/​changes.html#​current-minimal-requirements|En particulier,​ les dépendances minimums pour ceux qui tenteraient sur n'​importe quelle distribution]]\\ [[https://​www.kernel.org/​doc/​html/​latest/​process/​changes.html#​current-minimal-requirements|En particulier,​ les dépendances minimums pour ceux qui tenteraient sur n'​importe quelle distribution]]\\
-[[https://​www.kernel.org/​doc/​html/​latest/​process/​applying-patches.html|Et enfin pour patcher]]+[[https://​www.kernel.org/​doc/​html/​latest/​process/​applying-patches.html|Et enfin pour patcher]]\\ 
 +[[https://​www.debian.org/​doc/​manuals/​debian-kernel-handbook/​|Doc officielle debian]]
 ** **
  
  
doc/systeme/kernel/compiler.1618324158.txt.gz · Dernière modification: 13/04/2021 16:29 par jpt

Pied de page des forums

Propulsé par FluxBB