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 [20/04/2018 17:14]
naguam [4 C'est parti pour la compilation! La fameuse! (toujours en user et oui!)]
doc:systeme:kernel:compiler [13/12/2020 11:33]
g-vidal [2 C'est parti! Prérequis!]
Ligne 2: Ligne 2:
  
   * Objet : Compiler d'une source externe.   * Objet : Compiler d'une source externe.
-  * Niveau requis : {{tag>​Tout-niveau}} 
   * Commentaires : // Tout est dans le titre :-) //   * Commentaires : // Tout est dans le titre :-) //
   * Créé, Rédigé et Testé par [[user>​naguam]]   * Créé, Rédigé et Testé par [[user>​naguam]]
   * 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! ))    * 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! )) 
 +  * Niveau requis : Tout niveau
 ===== 1 Notes avant de commencer ===== ===== 1 Notes avant de commencer =====
  
Ligne 31: 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 libssl-dev bc gnupg dirmngr libncurses5-dev libelf-dev</​code>​+<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>​
  
-[[https://​www.phoronix.com/​scan.php?​page=news_item&​px=Linux-Now-Needs-Flex-Bison|Dépendances futures pour le 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 :-/)+[[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 :-/)
  
-À installer seulement si vous voulez compiler le 4.16 dans le futur quand il sortira en rc etc  +Il est possible que la version de `libncurses` ne soit pas "​5", ​dans ce cas il suffit de remplacer `libncurses5-dev` par `libncurses-dev`
- +
-<code root>apt install flex bison</​code> ​+
  
 ==== 2.2 Répertoire de compilation ==== ==== 2.2 Répertoire de compilation ====
Ligne 47: Ligne 44:
 ==== 2.3 Les sources ==== ==== 2.3 Les sources ====
  
-Bien sûr, il nous faut télécharger les sources du kernel et la signature pour vérification de l'​intégrité du kernel.\\+Bien sûr, il nous faut télécharger ​
 + 
 +  * les sources du kernel ​//(lien "​tarball"​ sur kernel.org)// ​et  
 +  * la signature pour vérification de l'​intégrité du kernel ​//(lien "​pgp"​ sur kernel.org)// ​. 
 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)\\ 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)\\
-Vous devez avoir des fichiers qui ce terminent par ''​.tar.xz''​ (ou''​.tar.gz''​) et ''​.tar.sign''​+Vous devez avoir deux fichiers qui se terminent ​respectivement ​par ''​.tar.xz''​ (ou''​.tar.gz''​) et ''​.tar.sign''​
  
 __**Téléchargez vos sources dans votre répertoire de compilation créé juste avant!**__ __**Téléchargez vos sources dans votre répertoire de compilation créé juste avant!**__
Ligne 146: Ligne 147:
  
 <note important>​Il est fort possible que vous ayez des réponses à donner au moment de la compilation,​ tapez ''​**entrée**''</​note>​ <note important>​Il est fort possible que vous ayez des réponses à donner au moment de la compilation,​ tapez ''​**entrée**''</​note>​
 +<note warning>​Maintenant,​ **fakeroot doit être installé mais se fait automatiquement** (testé 4.16 et 4.17-rc1) donc si en compilant **une version ancienne**, vous avez une erreur, ajoutez fakeroot avant la commande de compilation</​note>​
  
 ==== 4.1 Pour la compilation bourin (indiquée soulignée et gras dans la partie précédente) ==== ==== 4.1 Pour la compilation bourin (indiquée soulignée et gras dans la partie précédente) ====
Ligne 151: Ligne 153:
 Nous pouvons donc nous mettre à compiler : Nous pouvons donc nous mettre à compiler :
  
-<code user>fakeroot ​make deb-pkg -j$(nproc) LOCALVERSION=-"​$(dpkg --print-architecture)"​ KDEB_PKGVERSION="​$(make kernelversion)-1"</​code>​+<code user>​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 1 et 4h de compilation). <​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).
Ligne 165: Ligne 167:
 Nous pouvons nous mettre à compiler Nous pouvons nous mettre à compiler
  
-<code user>fakeroot ​make bindeb-pkg -j$(nproc) LOCALVERSION=-"​$(dpkg --print-architecture)"​ KDEB_PKGVERSION="​$(make kernelversion)-1"</​code>​+<code user>​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). <​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).
Ligne 175: Ligne 177:
 ==== 4.3 Explications basiques ==== ==== 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** ​+  * ''​**-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**   * ''​**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**
Ligne 227: Ligne 229:
 **Bravo! vous avez une machine avec le kernel de votre choix!** **Bravo! vous avez une machine avec le kernel de votre choix!**
  
-**voir aussi+**À 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! :-)\\
- +[[https://​www.kernel.org/​doc/​html/​latest/​index.html|La doc officielle de kernel.org]]\\ 
-D'​autres liens cool\\ +[[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://​github.com/kyodev/kyodeb/wiki/kernel.org-CompilationDebian|intéressant ​pour ceux qui veulent un tuto plus complet (page github d'une personne géniale qui a aidé) avec encore d'​autre lien en bas de la page github]] :-) \\ +[[https://www.kernel.org/doc/html/latest/process/​applying-patches.html|Et enfin pour patcher]]
- ​[[https://​github.com/kyodev/kyodeb/wiki/kernel.org-CompilationDebian-PatchVersion|Pour les gens qui veulent ​patcher ​(toujours de la même personne)]] \\+
 ** **
  
  
doc/systeme/kernel/compiler.txt · Dernière modification: 01/10/2023 11:30 par captnfab

Pied de page des forums

Propulsé par FluxBB