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:noyau:compiler [22/09/2013 23:31]
127.0.0.1 modification externe
doc:systeme:noyau:compiler [18/05/2017 21:10] (Version actuelle)
naguam [Compiler un noyau]
Ligne 1: Ligne 1:
 ====== Compiler un noyau ====== ====== Compiler un noyau ======
 +
 +
 +  * Objet : Compiler un noyau
 +  * Niveau requis : {{tag>​avisé}}
 +  * Commentaires : //Compiler un noyau signifie de traduire le code d'un noyau (kernel). //
 +  * Suivi : {{tag>​à-tester}}
 +    * Création par [[user>​neo]] le 17-05-2010
 +    * Testé par <...> le <​...> ​
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=2600 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
 +
 +Vous pouvez aussi tenter, si cela ne marche pas, ce tutoriel [[doc:​systeme:​kernel:​compiler|Compiler un kernel sous debian]]
 +
 +===== Introduction =====
  
 Compiler un noyau, cela signifie de traduire le code d'un noyau (kernel) dans un langage interprétable par le processeur. Compiler un noyau, cela signifie de traduire le code d'un noyau (kernel) dans un langage interprétable par le processeur.
Ligne 25: Ligne 38:
 ===== Installer le nécessaire à la compilation du noyau. ===== ===== Installer le nécessaire à la compilation du noyau. =====
  
-    # apt-get update +<code root>apt-get update</​code>​ 
-     ​puis + 
-    # ​apt-get install build-essential fakeroot kernel-package libncurses5-dev ​+puis 
 +<code root>apt-get install build-essential fakeroot kernel-package libncurses5-dev</​code> ​
  
 Il faut maintenant installer le paquet du noyau que l'on veut compiler, si vous avez plusieurs dépôts, utiliser apt-cache search linux-source,​ pour voir les différentes version disponible, puis installer. Il faut maintenant installer le paquet du noyau que l'on veut compiler, si vous avez plusieurs dépôts, utiliser apt-cache search linux-source,​ pour voir les différentes version disponible, puis installer.
  
-{{http://​images.debian-facile.org/​manuel/​searchn.png|}}+{{/​manuel/​searchn.png|}}
  
-{{http://​images.debian-facile.org/​manuel/​installn.png|}}+{{/​manuel/​installn.png|}}
  
 L'​archive linux-source s'​installe par défaut dans /usr/src. L'​archive linux-source s'​installe par défaut dans /usr/src.
Ligne 43: Ligne 57:
 Le nécessaire est installé, on va maintenant créer un répertoire nommé compil dans /home et s'y placer pour décompresser l'​archive du noyau. Le nécessaire est installé, on va maintenant créer un répertoire nommé compil dans /home et s'y placer pour décompresser l'​archive du noyau.
  
-    $ mkdir compil && cd compil+<code user>mkdir compil && cd compil</​code>​
  
 Puis, une fois dans le répertoire compil, décompressez l'​archive se trouvant dans /​usr/​src ​ Puis, une fois dans le répertoire compil, décompressez l'​archive se trouvant dans /​usr/​src ​
  
-    $ tar xvf /​usr/​src/​linux-source-2.6.24-rc5.tar.bz2 ​+<code user>tar xvf /​usr/​src/​linux-source-2.6.24-rc5.tar.bz2</​code>​
  
-{{http://​images.debian-facile.org/​manuel/​mkd.png|}}+{{/​manuel/​mkd.png|}}
  
 Puis, rendez-vous dans le dossier décompressé Puis, rendez-vous dans le dossier décompressé
  
-   ​$ ​cd linux-source-2.6.24-rc5 ​\\+<code user>cd linux-source-2.6.24-rc5</​code>​
  
-{{http://​images.debian-facile.org/​manuel/​cdlin.png|}}+{{/​manuel/​cdlin.png|}}
  
 Nous allons maintenant copier le fichier .config de votre noyau actuel se trouvant dans le répertoire /boot Nous allons maintenant copier le fichier .config de votre noyau actuel se trouvant dans le répertoire /boot
  
-   ​$ ​cp /​boot/​config-$(uname -r) .config+<code user>cp /​boot/​config-$(uname -r) .config</​code>​
  
 Saisissez la commande: Saisissez la commande:
  
-   ​$ ​make oldconfig+<code user>make oldconfig</​code>​
  
 Cette commande permet d'​adapter une configuration d'une précédente version du noyau à une nouvelle en vous posant des questions sur les nouvelles fonctionnalités à configurer au besoin. Cette commande permet d'​adapter une configuration d'une précédente version du noyau à une nouvelle en vous posant des questions sur les nouvelles fonctionnalités à configurer au besoin.
  
 Répondez aux questions, les lettres en majuscules sont les réponses conseillées,​ si vous hésitez, répondez par ''​y''​ pour ''​yes''​ vous pourrez toujours revenir à ces options. Répondez aux questions, les lettres en majuscules sont les réponses conseillées,​ si vous hésitez, répondez par ''​y''​ pour ''​yes''​ vous pourrez toujours revenir à ces options.
- 
-{{http://​michelro.free.fr/​cmdblog/​oldconf.png?​200x200}} 
  
 ===== Configuration du noyau ===== ===== Configuration du noyau =====
Ligne 75: Ligne 87:
 Une fois terminé, vous pouvez lancer l'​utilitaire de configuration du noyau : Une fois terminé, vous pouvez lancer l'​utilitaire de configuration du noyau :
  
-   ​$ ​make menuconfig+<code user>make menuconfig</​code>​
  
 Vous pouvez faire le tour des options à configurer, vous pouvez vous aidez de ce site Vous pouvez faire le tour des options à configurer, vous pouvez vous aidez de ce site
   * [[http://​casteyde.christian.free.fr/​system/​linux/​guide/​online/​a12863.html|Options du noyau]]   * [[http://​casteyde.christian.free.fr/​system/​linux/​guide/​online/​a12863.html|Options du noyau]]
  
-Pour personnaliser votre noyau. L'​activation ou désactivation d'​options se fait via la touche ​''​[espace]'' ​de votre clavier et le déplacement avec les flèches de direction.+Pour personnaliser votre noyau. L'​activation ou désactivation d'​options se fait via la touche ​<​key>​Espace</​key> ​de votre clavier et le déplacement avec les flèches de direction.
   -   si < > --> l'​option sera désactivée.   -   si < > --> l'​option sera désactivée.
   -   si <*> --> l'​option sera compilée en dur.   -   si <*> --> l'​option sera compilée en dur.
   -   si <M> --> l'​option sera configurée en module.   -   si <M> --> l'​option sera configurée en module.
  
-Si vous connaissez bien votre matèriel, mettez en dur les options concernant ​votre matèriel, il suffit ensuite de sélectionner :+Si vous connaissez bien votre matériel, mettez en dur les options ​le concernant, il suffit ensuite de sélectionner :
    Save an Alternate Configuration File     Save an Alternate Configuration File 
    ​Validez --> Validez ''​OK''​ --> Validez ''​exit''​    ​Validez --> Validez ''​OK''​ --> Validez ''​exit''​
- 
-{{http://​michelro.free.fr/​cmdblog/​menuconf.png?​150x100}} {{http://​michelro.free.fr/​cmdblog/​menuconf2.png?​150x100}} {{http://​michelro.free.fr/​cmdblog/​menuconf3.png?​150x100}} {{http://​michelro.free.fr/​cmdblog/​menuconf4.png?​150x100}} 
  
 ===== Créations des paquets kernel_image et kernel_headers ===== ===== Créations des paquets kernel_image et kernel_headers =====
Ligne 95: Ligne 105:
 Pour rappel, ''​kernel_headers''​ (ou, une fois installé, ''​linux-headers-2.6.24''​) permet de construire des modules pour le pilote graphique ou autres pilotes via module-assistant. Pour rappel, ''​kernel_headers''​ (ou, une fois installé, ''​linux-headers-2.6.24''​) permet de construire des modules pour le pilote graphique ou autres pilotes via module-assistant.
  
-    $ fakeroot make-kpkg --initrd --append-to-version=-perso kernel_image kernel_headers+<code user>fakeroot make-kpkg --initrd --append-to-version=-perso kernel_image kernel_headers</​code>​
  
 Vous pouvez changer ''​-perso''​ par autre chose, cette option se rajoute à la fin du nom du noyau --> ​ Vous pouvez changer ''​-perso''​ par autre chose, cette option se rajoute à la fin du nom du noyau --> ​
    ​linux-image-2.6.24-rc5-perso    ​linux-image-2.6.24-rc5-perso
- 
- 
- 
  
  
Ligne 112: Ligne 119:
 Editer le fichier ''/​etc/​kernel-pkg.conf''​ : Editer le fichier ''/​etc/​kernel-pkg.conf''​ :
  
-   # ​nano /​etc/​kernel-pkg.conf+<code root>nano /​etc/​kernel-pkg.conf</​code>​
  
 Et ajouter à la fin : Et ajouter à la fin :
Ligne 131: Ligne 138:
 Si vous n'avez pas ajouter ''​ROOT_CMD=fakeroot'',​ saisissez la commande : Si vous n'avez pas ajouter ''​ROOT_CMD=fakeroot'',​ saisissez la commande :
  
-    $ fakeroot make-kpkg --us --uc --initrd --append-to-version=-perso buildpackage+<code user>fakeroot make-kpkg --us --uc --initrd --append-to-version=-perso buildpackage</​code>​
  
 Si vous avez ajoutez ROOT_CMD=fakeroot,​ saisissez la commande : Si vous avez ajoutez ROOT_CMD=fakeroot,​ saisissez la commande :
  
-    $ make-kpkg --us --uc --initrd --append-to-version=-perso buildpackage+<code user>make-kpkg --us --uc --initrd --append-to-version=-perso buildpackage</​code>​
  
 Et validez. Et validez.
Ligne 143: Ligne 150:
 ===== Installation des paquets .deb ===== ===== Installation des paquets .deb =====
  
-Lorsque la compilation est terminé, vous pouvez installer les paquets ''​.deb''​ créés dans le répertoire ''​~/​compil''​+Lorsque la compilation est terminée, vous pouvez installer les paquets ''​.deb''​ créés dans le répertoire ''​~/​compil''​
  
 Pour revenir dans le répertoire ''​compil'',​ saisissez : Pour revenir dans le répertoire ''​compil'',​ saisissez :
-   ​$ ​cd ..+<code user>cd ..</​code>​
  
 Vous y trouverez les paquets "​.deb"​ créés. Vous y trouverez les paquets "​.deb"​ créés.
-Vous pouvez maintenant ​passez ​en ''​root''​ pour les installer avec la commande ''​dpkg -i''​ .  +Vous pouvez maintenant ​passer ​en ''​root''​ pour les installer avec la commande ''​dpkg -i''​ . 
- +
-{{http://​michelro.free.fr/​cmdblog/​instnoyau.png?​200x150}}+
  
 ===== Nettoyage avant une seconde compilation ===== ===== Nettoyage avant une seconde compilation =====
Ligne 157: Ligne 162:
 Si vous recompilez une deuxième fois le noyau, __pour nettoyer le répertoire__ et effacer les fichiers créés par la précédente compilation,​ pensez à exécuter cette commande (avec ou sans ''​fakeroot''​ selon l'​astuce précédente) : Si vous recompilez une deuxième fois le noyau, __pour nettoyer le répertoire__ et effacer les fichiers créés par la précédente compilation,​ pensez à exécuter cette commande (avec ou sans ''​fakeroot''​ selon l'​astuce précédente) :
  
-    $ fakeroot make-kpkg clean +<code user>fakeroot make-kpkg clean</​code>​
  
 N'​oubliez pas le ''​man''​ en ligne de commandes pour voir les différentes options : N'​oubliez pas le ''​man''​ en ligne de commandes pour voir les différentes options :
  
-   ​$ ​man make-kpkg+<code user>man make-kpkg</​code>​
  
 ===== Option --initrd ===== ===== Option --initrd =====
Ligne 180: Ligne 185:
 Merci à : \\  Merci à : \\ 
  
-''​engil''//​ pour sa relecture et ses suggestions/​rectifications généreuses,​ ainsi que pour le procédé de configuration afin d'​accélérer la compilation finale !// \\  +''​engil''//​ pour sa relecture et ses suggestions/​rectifications généreuses,​ ainsi que pour le procédé de configuration afin d'​accélérer la compilation finale !// \\ 
-''​juddix''//​ pour ses suggestions avisées,// \\ +  
 +''​juddix''//​ pour ses suggestions avisées,// \\ 
 + 
 ''​captnfab''//​ pour son aide toujours claire !// \\  ''​captnfab''//​ pour son aide toujours claire !// \\ 
doc/systeme/noyau/compiler.1379885478.txt.gz · Dernière modification: 19/03/2014 14:03 (modification externe)

Pied de page des forums

Propulsé par FluxBB