Tout
d'abord, une petite chose : si vous compilez un noyau dont la
version est identique à une version déjà présente sur votre
système, les modules de cette dernière doivent être effacés
auparavant. Par exemple, si vous recompilez un noyau
2.6.10
, il vous faudra effacer le répertoire
/lib/modules/2.6.10
.
La compilation du noyau et des modules, ainsi que l'installation des modules, se font grâce aux instructions suivantes :
make clean make all make modules_install install
Un peu de
vocabulaire : clean
, all
,
etc., sont appelés targets (soit cibles).
Remarquez que, depuis le noyau 2.6
, la cible
all
existe. L'exécution de cette cible équivaut à exécuter les cibles bzImage
et
modules
(pour une architecture x86). Cette
nouvelle option exécutera les cibles choisies pour n'importe
quelle architecture. Avant la version 2.6
,
chaque architecture possédait un nom d'option différent pour
compiler le noyau. Si vous
spécifiez un certain nombre de cibles pour make tel que
ci-dessus, elles seront exécutées selon l'ordre d'apparition. Mais
si une cible échoue, make n'ira pas plus loin
[42].
Penchons-nous maintenant sur les différentes cibles et regardons ce qu'elles font :
bzImage
: ceci
construit le noyau. Notez que cette cible est seulement
valable pour des processeurs x86 et
x86_64. Cette cible générera aussi le
fichier System.map
pour ce noyau. Nous
verrons plus loin à quoi sert ce fichier ;
modules
:
comme son nom l'indique, cette cible générera des modules pour
le noyau. Si vous ne choisissez pas ces modules, la cible ne
fera rien ;
all
:
cette cible générera une image type du noyau choisi pour
l'architecture et les modules en place;
modules_install
:
ceci installe les modules. Par défaut, les modules
seront installés dans le répertoire
/lib/modules/<kernel-version>
.
Cette cible calcule aussi les dépendances entre modules
;
install
:
cette dernière cible va finalement copier le noyau et tous ses
modules au bon endroit, et modifier la configuration des
chargeurs de démarrage de telle sorte que le nouveau noyau
soit disponible au démarrage. Ne l'utilisez pas si vous
préférez effectuer une installation manuelle, telle que
décrite dans Section 7, « Installation du nouveau noyau ».
Tout est maintenant compilé et les modules sont installés. Mais ce n'est pas tout : vous devez également installer le noyau dans un endroit où votre programme de démarrage (bootloader), que ce soit LILO ou GRUB, pourra le trouver. C'est ce dont il est question dans la prochaine section.
[42] Dans ce cas, si cela échoue, cela signifie qu'il y a un bogue dans le noyau... Dans ce cas, merci de nous le faire savoir !