1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<!-- original version: 28672 -->
4
<sect1 id="kernel-baking"><title>Compiler un nouveau noyau</title>
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 :
15
G�rer des p�riph�riques sp�ciaux, ou des conflits de p�riph�riques dans
16
les noyaux par d�faut ;
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 ;
28
Optimiser le noyau en enlevant les pilotes inutiles, ce qui peut
29
acc�l�rer le d�marrage de la machine ;
34
Utiliser des options du noyau qui ne sont pas reconnues par le
35
noyau par d�faut, la gestion de la m�moire haute par exemple ;
40
Utiliser une version de d�veloppement du noyau ;
45
Impressionner vos ami(e)s, essayer de nouvelles choses.
52
<sect2><title>Gestion des images du noyau</title>
55
N'ayez pas peur de compiler un nouveau noyau. C'est amusant et vous apprendrez
60
Pour compiler un noyau � fa�on Debian �, vous avez besoin des
61
paquets suivants :
62
<classname>kernel-package</classname>,
63
<classname>kernel-source-&kernelversion;</classname> (la version la plus
64
r�cente lors de la r�daction de ce document),
65
<classname>fakeroot</classname>
66
et quelques autres qui sont probablement d�j� install�s sur votre machine
67
(pour la liste compl�te, voyez
68
<filename>/usr/share/doc/kernel-package/README.gz</filename>).
72
Cette m�thode cr�e un .deb � partir des sources du noyau ; si
73
vous utilisez des modules non standard, elle incorpore aussi ces d�pendances
74
dans le .deb. C'est une bonne solution pour g�rer les images du noyau ;
75
le r�pertoire <filename>/boot</filename> contiendra le noyau, le System.map
76
et une sauvegarde du fichier de configuration utilis� pour ce paquet.
80
Il faut remarquer qu'il n'est pas <emphasis>obligatoire</emphasis> de
81
compiler votre noyau � fa�on Debian �; mais vous vous rendrez compte
82
qu'utiliser le syst�me de gestion des paquets pour
83
g�rer les noyaux rend leur installation plus simple et plus s�re.
84
En fait, vous pouvez utiliser directement les sources de Linus et ne
85
pas utiliser <classname>kernel-source-&kernelversion;</classname>, tout en
86
utilisant la m�thode de compilation <classname>kernel-package</classname>.
90
Notez que vous trouverez une documentation compl�te sur l'utilisation de
91
<classname>kernel-package</classname> dans le r�pertoire
92
<filename>/usr/share/doc/kernel-package</filename>. Cette section ne
93
contient qu'un bref didacticiel.
98
Dans ce qui suit, nous supposerons que vous pouvez tout faire sur votre
99
machine et que vous allez extraire les sources du noyau dans votre r�pertoire
101
<para> D'autres endroits sont possibles pour extraire les sources et construire
102
le noyau, mais c'est le plus facile car aucun droit sp�cial n'est demand�.
104
Nous supposerons aussi que la version du noyau est &kernelversion;. Allez
105
dans le r�pertoire o� vous voulez d�sarchiver
106
les sources et d�sarchivez-les avec
107
<userinput>tar xjf /usr/src/kernel-source-&kernelversion;.tar.bz2</userinput>
108
, et d�placez-vous dans le r�pertoire
109
<filename>kernel-source-&kernelversion;</filename> qui vient d'�tre cr��.
113
Maintenant, vous pouvez configurer votre noyau. Ex�cutez
114
<userinput>make xconfig</userinput> si X11 est install�, configur� et lanc�.
115
Ex�cutez <userinput>make menuconfig</userinput> dans le cas contraire
116
(vous aurez alors besoin du paquet <classname>libncurses5-dev</classname>).
118
de lire l'aide en ligne et de choisir judicieusement les options � activer.
119
En cas de doute, il est souvent pr�f�rable d'inclure les pilotes de
120
p�riph�riques (tels que les contr�leurs SCSI, cartes Ethernet, etc.) que vous
121
ne connaissez pas bien.
122
Faites attention : les autres options, non sp�cifiques au mat�riel,
123
doivent �tre laiss�es � leur valeur par d�faut si vous ne les comprenez pas.
124
N'oubliez pas de s�lectionner � Kernel module loader � dans la
125
section � Loadable module support �
126
(elle n'est pas s�lectionn�e par d�faut), sinon votre syst�me Debian risque
127
d'avoir des probl�mes.
131
Nettoyez l'arborescence des sources et r�initialisez les param�tres
132
de <classname>kernel-package</classname>. Pour ce faire, tapez
133
<userinput>make-kpkg clean</userinput>.
137
Maintenant, compilez votre noyau :
138
<userinput>fakeroot make-kpkg --revision=custom.1.0 kernel_image</userinput>.
139
Bien s�r, le num�ro de version � 1.0 � peut �tre chang� ;
140
il s'agit juste d'un moyen de suivre vos diff�rentes
141
versions du noyau. De la m�me fa�on, vous pouvez remplacer le mot
142
� custom\ � par ce que vous voulez (par exemple le nom d'une
143
machine). La compilation d'un noyau peut �tre assez longue selon la puissance
146
</para><para condition="supports-pcmcia">
148
Si vous avez besoin du PCMCIA, vous devrez installer le
149
paquet <classname>pcmcia-source</classname>. D�sarchivez le fichier
150
tar comprim�, en tant que superutilisateur, dans le r�pertoire
151
<filename>/usr/src</filename> (il est important que les modules soient �
152
l'endroit o� ils sont suppos�s �tre, c'est-�-dire dans
153
<filename>/usr/src/modules</filename>). Ensuite, en �tant superutilisateur,
154
tapez <userinput>make-kpkg modules_image</userinput>.
158
Une fois la compilation termin�e, vous pouvez installer votre noyau
159
personnalis� comme n'importe quel autre paquet. En �tant superutilisateur,
160
tapez <userinput>dpkg -i ../kernel-image-&kernelversion;-<replaceable>subarchitecture</replaceable>_custom.1.0_&architecture;.deb</userinput>.
161
La partie <replaceable>subarchitecture</replaceable> est une
162
sous-architecture optionnelle,
163
<phrase arch="i386"> telle que <quote>i586</quote>, </phrase>
164
suivant les options de compilation que vous avez d�finies.
165
<userinput>dpkg -i kernel-image...</userinput> installera votre noyau ainsi
166
que les autres fichiers qui lui seront n�cessaires.
167
Par exemple, le fichier <filename>System.map</filename> sera install�
168
correctement (tr�s utile pour le d�bogage des probl�mes de noyau) et un
169
fichier <filename>/boot/config-&kernelversion;</filename> sera install�, qui
170
contiendra votre configuration noyau.
171
Votre nouveau paquet <classname>kernel-image-&kernelversion;</classname> est
172
tellement malin qu'il utilise automatiquement le programme d'amor�age de votre
173
plateforme pour mettre � jour l'information sur l'image de noyau utilis�e
174
pendant le d�marrage, sans qu'il soit n�cessaire de r�ex�cuter le programme
175
d'amor�age. Si vous avez cr�� un paquet pour les modules, par exemple si vous
176
avez PCMCIA, vous devrez installer ce paquet �galement.
180
Vous devez maintenant red�marrer votre syst�me : lisez attentivement les
181
�ventuels avertissements produits par les �tapes pr�c�dentes, puis ex�cutez
182
<userinput>shutdown -r now</userinput>.
186
Pour plus d'informations sur <classname>kernel-package</classname>, lisez
187
la documentation dans <filename>/usr/share/doc/kernel-package</filename>.