Tout d'abord, récupérez les paquetages nécessaires : un noyau
assez récent et la dernière version des utilitaires pour les modules.
Ensuite, installez-les. C'est assez simple : désarchivez le paquetage
et lancez make install
. Cette opération compile et installe
les différents programmes dans le répertoire /sbin
:
genksysm, insmod, lsmod, modprobe, depmod, kerneld
.
Je vous recommande d'ajouter quelques lignes dans vos scripts d'amorçage
/etc/rc.d/rc.S
si vous utilisez la Slackware, ou
/etc/rc.d/rc.sysinit
(si vous utilisez SysVinit,
c'est à dire Debian, RedHat, Caldera) :
# Lancer kerneld - cette operation doit se produire # le plus tot possible lors de l'amorcage de la machine # et en tout cas avant que fsck ne soit lance sur les # systemes de fichiers car certaines partitions peuvent # avoir besoin de modules. if [ -x /sbin/kerneld ] then /sbin/kerneld fi # Vos fsck peuvent se trouver ici, ainsi que votre # commande mount pour monter la racine en lecture, ecriture # Mise a jour du fichier des dependances des modules # Votre racine DOIT etre montee en lecture ecriture ! if [ -x /sbin/depmod ] then /sbin/depmod -a fi
La première partie de ce script lance kerneld
.
La seconde appelle depmod -a
. Ce programme construit
la liste de tous les modules disponibles et analyse leurs dépendances,
de telle manière que l'on sache si un module a besoin qu'un
autre module soit chargé, et éventuellement le charger,
et ainsi de suite.
Note : des versions récentes de kerneld
ont une option
de compilation lui permettant d'utiliser
la bibliothèque dbm GNU, libgdbm
. Si vous activez
cette option, Cela signifie
que ce démon ne sera lancé que si la bibliothèque libgdbm
est disponible, ce qui peut ne pas être le cas si
vous avez le répertoire /usr
sur une partition
séparée et que vous lanciez kerneld
avant que
/usr
ne soit monté. La solution recommandée est de déplacer
la bibliothèque du répertoire /usr/lib
vers /lib
.
Ensuite, désarchivez les sources du noyau, configurez-le et construisez
le noyau. Si vous n'avez jamais fait cela avant, vous devriez
absolument lire le fichier README
qui se trouve à la racine
des sources de Linux. Lorsque vous lancez make config
pour configurer
le noyau, faites attention aux différentes questions que l'on vous
pose :
Enable loadable module support (CONFIG_MODULES) [Y/n/?] Y
Vous devez absolument activer (et donc répondre Y) la
gestion des modules, ou bien kerneld
n'aura aucun module à charger.
Kernel daemon support (CONFIG_KERNELD) [Y/n/?] Y
Activer cette option est bien évidement nécessaire. Ensuite, bon nombre de choses dans le noyau peuvent être construites sous la forme de modules, et vous verrez donc ce genre de question :
Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?]
Vous pouvez répondre par M, comme "Module". En principe, seuls les gestionnaires de périphériques qui sont absolument nécessaires pour amorcer votre machine, comme le gestionnaire du disque dur, le système de fichier de la racine, devraient être inclus dans le noyau. Le reste peut très bien être construit comme module.
Lorsque vous en avez terminé avec make config
, alors lancez
make dep ; make clean ; make zImage ; make modules ; make modules_installou
make zlilo ; make modules ; make modules_install
Et allez gracieusement vous restaurer ou boire un café (enfin, ça dépend de votre machine)...
make zImage
met l'image de votre nouveau noyau dans
arch/i386/boot/zImage
. Vous aurez besoin de le copier où
vous conservez vos images, ou bien installez-le via LILO.
Pour plus d'informations concernant la construction et l'installation
de vos noyau, consultez le Kerneld-Howto (N.d.T. : également disponible
en version française) qui est régulièrement posté dans le forum
Usent comp.os.linux.answers
, et disponible sur le
site sunsite.unc.edu
dans le répertoire
/pub/Linux/docs/HOWTO
.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre