| 1 |
<?xml version="1.0" encoding="ISO-8859-1"?>
|
| 2 |
<!-- original version: 23678 -->
|
| 3 |
|
| 4 |
<sect1 id="kernel-baking"><title>Compiler un nouveau noyau</title>
|
| 5 |
<para>
|
| 6 |
|
| 7 |
Pourquoi vouloir compiler un nouveau noyau ?
|
| 8 |
Ce n'est en général pas nécessaire, étant donné que le noyau par défaut de
|
| 9 |
Debian reconnaît la plupart des configurations. Cependant, il peut être
|
| 10 |
utile de compiler un nouveau noyau dans les cas suivants :
|
| 11 |
|
| 12 |
<itemizedlist>
|
| 13 |
<listitem><para>
|
| 14 |
|
| 15 |
Gérer des périphériques spéciaux, ou des conflits de périphériques dans
|
| 16 |
les noyaux par défaut ;
|
| 17 |
|
| 18 |
</para></listitem>
|
| 19 |
<listitem><para>
|
| 20 |
|
| 21 |
Gérer des périphériques ou activer des options qui ne sont pas incluses
|
| 22 |
dans le noyau par défaut, tel que l'APM ou le SMP ;
|
| 23 |
|
| 24 |
</para></listitem>
|
| 25 |
|
| 26 |
<listitem arch="i386"><para>
|
| 27 |
|
| 28 |
Les variantes compact et idepci n'ont pas de gestion du son.
|
| 29 |
Bien que le noyau par défaut l'intègre, cela pourrait ne pas marcher pour
|
| 30 |
d'autres raisons ;
|
| 31 |
|
| 32 |
</para></listitem>
|
| 33 |
<listitem><para>
|
| 34 |
|
| 35 |
Optimiser le noyau en enlevant les pilotes inutiles, ce qui peut
|
| 36 |
accélérer le démarrage de la machine ;
|
| 37 |
|
| 38 |
</para></listitem>
|
| 39 |
<listitem><para>
|
| 40 |
|
| 41 |
Utiliser des options du noyau qui ne sont pas reconnues par le
|
| 42 |
noyau par défaut, gestion des pare-feux par exemple ;
|
| 43 |
|
| 44 |
</para></listitem>
|
| 45 |
<listitem><para>
|
| 46 |
|
| 47 |
Utiliser une version de développement du noyau ;
|
| 48 |
|
| 49 |
</para></listitem>
|
| 50 |
<listitem><para>
|
| 51 |
|
| 52 |
Impressionner vos ami(e)s, essayer de nouvelles choses.
|
| 53 |
|
| 54 |
</para></listitem>
|
| 55 |
</itemizedlist>
|
| 56 |
|
| 57 |
</para>
|
| 58 |
|
| 59 |
<sect2><title>Gestion des images du noyau</title>
|
| 60 |
<para>
|
| 61 |
|
| 62 |
N'ayez pas peur de compiler un nouveau noyau. C'est amusant et vous apprendrez
|
| 63 |
de nouvelles choses.
|
| 64 |
|
| 65 |
</para><para>
|
| 66 |
|
| 67 |
Pour compiler un noyau « façon Debian », vous avez besoin des
|
| 68 |
paquets suivants :
|
| 69 |
<classname>kernel-package</classname>,
|
| 70 |
<classname>kernel-source-&kernelversion;</classname> (la version la plus
|
| 71 |
récente lors de la rédaction de ce document),
|
| 72 |
<classname>fakeroot</classname>
|
| 73 |
et quelques autres qui sont probablement déjà installés sur votre machine
|
| 74 |
(pour la liste complète, voyez
|
| 75 |
<filename>/usr/share/doc/kernel-package/README.gz</filename>).
|
| 76 |
|
| 77 |
</para><para>
|
| 78 |
|
| 79 |
Cette méthode crée un .deb à partir des sources du noyau ; si
|
| 80 |
vous utilisez des modules non standard, elle incorpore aussi ces dépendances
|
| 81 |
dans le .deb. C'est une bonne solution pour gérer les images du noyau ;
|
| 82 |
le répertoire <filename>/boot</filename> contiendra le noyau, le System.map
|
| 83 |
et une sauvegarde du fichier de configuration utilisé pour ce paquet.
|
| 84 |
|
| 85 |
</para><para>
|
| 86 |
|
| 87 |
Il faut remarquer qu'il n'est pas <emphasis>obligatoire</emphasis> de
|
| 88 |
compiler votre noyau « façon Debian »; mais vous vous rendrez compte
|
| 89 |
qu'utiliser le système de gestion des paquets pour
|
| 90 |
gérer les noyaux rend leur installation plus simple et plus sûre.
|
| 91 |
En fait, vous pouvez utiliser directement les sources de Linus et ne
|
| 92 |
pas utiliser <classname>kernel-source-&kernelversion;</classname>, tout en
|
| 93 |
utilisant la méthode de compilation <classname>kernel-package</classname>.
|
| 94 |
|
| 95 |
</para><para>
|
| 96 |
|
| 97 |
Notez que vous trouverez une documentation complète sur l'utilisation de
|
| 98 |
<classname>kernel-package</classname> dans le répertoire
|
| 99 |
<filename>/usr/share/doc/kernel-package</filename>. Cette section ne
|
| 100 |
contient qu'un bref didacticiel.
|
| 101 |
|
| 102 |
</para>
|
| 103 |
<para>
|
| 104 |
|
| 105 |
Dans ce qui suit, nous supposerons que les sources de votre noyau sont
|
| 106 |
situées dans <filename>/usr/local/src/</filename> et qu'il s'agit du noyau
|
| 107 |
version &kernelversion;. En tant que superutilisateur, créez un répertoire
|
| 108 |
dans <filename>/usr/local/src</filename> et changez le propriétaire de ce
|
| 109 |
répertoire en votre compte utilisateur habituel.
|
| 110 |
En utilisant ce compte, allez dans le répertoire où vous voulez désarchiver
|
| 111 |
les sources (<userinput>cd /usr/local/src</userinput>) et désarchivez-les
|
| 112 |
(<userinput>tar xjf /usr/src/kernel-source-&kernelversion;.tar.bz2</userinput>
|
| 113 |
), et déplacez-vous dans ce répertoire
|
| 114 |
(<userinput>cd kernel-source-&kernelversion;/</userinput>).
|
| 115 |
|
| 116 |
</para><para>
|
| 117 |
|
| 118 |
Maintenant, vous pouvez configurer votre noyau. Exécutez
|
| 119 |
<userinput>make xconfig</userinput> si X11 est installé, configuré et lancé,
|
| 120 |
<userinput>make menuconfig</userinput> dans le cas contraire (vous aurez
|
| 121 |
alors besoin du paquet <classname>ncurses-dev</classname>). Prenez le temps
|
| 122 |
de lire l'aide en ligne et de choisir judicieusement les options à activer.
|
| 123 |
En cas de doute, il est souvent préférable d'inclure les pilotes de
|
| 124 |
périphériques (tels que les contrôleurs SCSI, cartes Ethernet, etc.) que vous
|
| 125 |
ne connaissez pas bien.
|
| 126 |
Faites attention : les autres options, non spécifiques au matériel,
|
| 127 |
doivent être laissées à leur valeur par défaut si vous ne les comprenez pas.
|
| 128 |
N'oubliez pas de sélectionner « Kernel module loader » dans la
|
| 129 |
section « Loadable module support »
|
| 130 |
(elle n'est pas sélectionnée par défaut), sinon votre système Debian risque
|
| 131 |
d'avoir des problèmes.
|
| 132 |
|
| 133 |
</para><para>
|
| 134 |
|
| 135 |
Nettoyez l'arborescence des sources et réinitialisez les paramètres
|
| 136 |
de <classname>kernel-package</classname>. Pour ce faire, tapez
|
| 137 |
<userinput>make-kpkg clean</userinput>.
|
| 138 |
|
| 139 |
</para><para>
|
| 140 |
|
| 141 |
Maintenant, compilez votre noyau :
|
| 142 |
<userinput>fakeroot make-kpkg --revision=custom.1.0 kernel_image</userinput>.
|
| 143 |
Bien sûr, le numéro de version « 1.0 » peut être changé ;
|
| 144 |
il s'agit juste d'un moyen de suivre vos différentes
|
| 145 |
versions du noyau. De la même façon, vous pouvez remplacer le mot
|
| 146 |
« custom\ » par ce que vous voulez (par exemple le nom d'une
|
| 147 |
machine). La compilation d'un noyau peut être assez longue selon la puissance
|
| 148 |
de votre machine.
|
| 149 |
|
| 150 |
</para><para condition="supports-pcmcia">
|
| 151 |
|
| 152 |
Si vous avez besoin du PCMCIA, vous devrez installer le
|
| 153 |
paquet <classname>pcmcia-source</classname>. Désarchivez le fichier
|
| 154 |
tar comprimé, en tant que superutilisateur, dans le répertoire
|
| 155 |
<filename>/usr/src</filename> (il est important que les modules soient à
|
| 156 |
l'endroit où ils sont supposés être, c'est-à-dire dans
|
| 157 |
<filename>/usr/src/modules</filename>). Ensuite, en étant superutilisateur,
|
| 158 |
tapez <userinput>make-kpkg modules_image</userinput>.
|
| 159 |
|
| 160 |
</para><para>
|
| 161 |
|
| 162 |
Une fois la compilation terminée, vous pouvez installer votre noyau
|
| 163 |
personnalisé comme n'importe quel autre paquet. En étant superutilisateur,
|
| 164 |
tapez <userinput>dpkg -i ../kernel-image-&kernelversion;-<replaceable>subarchitecture</replaceable>_custom.1.0_&architecture;.deb</userinput>.
|
| 165 |
La partie <replaceable>subarchitecture</replaceable> est une
|
| 166 |
sous-architecture optionnelle,
|
| 167 |
<phrase arch="i386"> telle que ``i586'', </phrase>
|
| 168 |
suivant les options de compilation que vous avez définies.
|
| 169 |
<userinput>dpkg -i kernel-image...</userinput> installera votre noyau ainsi
|
| 170 |
que les autres fichiers qui lui seront nécessaires.
|
| 171 |
Par exemple, le fichier <filename>System.map</filename> sera installé
|
| 172 |
correctement (très utile pour le débogage des problèmes de noyau) et un
|
| 173 |
fichier <filename>/boot/config-&kernelversion;</filename> sera installé, qui
|
| 174 |
contiendra votre configuration noyau.
|
| 175 |
Votre nouveau paquet <classname>kernel-image-&kernelversion;</classname> est
|
| 176 |
tellement malin qu'il utilise automatiquement le programme d'amorçage de votre
|
| 177 |
plateforme pour mettre à jour l'information sur l'image de noyau utilisée
|
| 178 |
pendant le démarrage, sans qu'il soit nécessaire de réexécuter le programme
|
| 179 |
d'amorçage. Si vous avez créé un paquet pour les modules, par exemple si vous
|
| 180 |
avez PCMCIA, vous devrez installer ce paquet également.
|
| 181 |
|
| 182 |
</para><para>
|
| 183 |
|
| 184 |
Vous devez maintenant redémarrer votre système : lisez attentivement les
|
| 185 |
éventuels avertissements produits par les étapes précédentes, puis exécutez
|
| 186 |
<userinput>shutdown -r now</userinput>.
|
| 187 |
|
| 188 |
</para><para>
|
| 189 |
|
| 190 |
Pour plus d'informations sur <classname>kernel-package</classname>, lisez
|
| 191 |
la documentation dans <filename>/usr/share/doc/kernel-package</filename>.
|
| 192 |
|
| 193 |
</para>
|
| 194 |
</sect2>
|
| 195 |
</sect1>
|