Il y a de bonnes raisons pour utiliser kerneld. Voici
les miennes. D'autres peuvent l'utiliser pour d'autres raisons.
Si vous devez construire des noyaux pour de nombreux
systèmes qui diffèrent peu (par exemple, une marque différente
de carte réseau), alors vous pouvez construire un seul noyau et
des modules, à la place d'avoir à construire un noyau par
système.
Les modules sont plus faciles à tester pour les
développeurs : il ne faut pas relancer le système pour charger et
enlever le pilote. Ceci s'applique pour tous les modules et non
juste pour ceux qui sont montés par kerneld.
Il réduit l'usage de la mémoire du noyau, ce qui donne
plus de mémoire pour les applications. La mémoire utilisée par
le noyau n'est jamais ``swappée'' sur disque, donc si vous avez
100Ko de pilotes non utilisés compilés dans le noyau, ils
occasionnent simplement une perte de RAM.
Certaines choses que j'utilise, le pilote ftape, par
exemple ou iBCS, ne sont valables que sous forme de
modules. Mais je ne veux
pas m'embêter avec leur chargement et leur déchargement à chaque
fois que j'en ai besoin.
Les personnes qui font des distributions Linux ne veulent
pas construire 284 images de boot différentes, chaque
utilisateur charge les pilotes dont il a besoin pour sa
configuration. C'est la méthode retenue par la RedHat 4.0 dans
son installation.
Bien sûr, il y a aussi des raisons pour que vous ne vouliez pas
l'utiliser : vous préfèreriez avoir juste un fichier image de
votre noyau avec tous vos pilotes à l'intérieur. Dans ce cas,
vous lisez le mauvais document.