Next: Numéros de version du
Up: Sources du noyau LINUX,
Previous: Sources du noyau LINUX,
Table des matières
L'installation d'un noyau consiste à obtenir une image destinée à
l'amorçage, les modules, le fichier System.map,
les en-têtes (qui ne sont réellement utiles qu'aux développeurs) et
divers démons. En général, ceux-ci sont déjà fournis par votre distribution.
Cet ensemble constitue ``Linux'', comme on l'appelle communément.
Il s'agit d'un code binaire résultant d'environ 50 Mo de code C,
soit 1,5 millions de lignes de code.
- L'image du noyau LINUX est un fichier de 400 à 600 Ko qui
se trouve dans /boot/ (voir le chapitre
32). Si vous analysez ce répertoire,
vous pourrez y voir plusieurs noyaux. Le choix se fait au moment de
l'amorçage à l'aide de lilo ou de grub.
Le noyau dans /boot/ est compressé avec
l'utilitaire gzip et il prend deux fois
plus de place lorsqu'il est chargé en mémoire que sous sa forme compressée.
- Le noyau présente aussi des parties séparées, appelées modules.
Ceux-ci siègent dans /lib/modules/<version>/.
Ils sont répartis en sous-répertoires à l'intérieur de ce répertoire.
Il peut y avoir jusqu'à ~400 modules, totalisant quelque
9 Mo.
En réalité, les modules sont des fichiers-objets partagés, tels que
les fichiers .o que nous avons crées à
la section 24.1. Il ne s'agit
pas des mêmes pilotes de périphériques que ceux de Windows, dans la
mesure où il n'est pas possible d'utiliser un module avec un noyau
autre que celui pour lequel ce module a été compilé. En conséquence,
le terme ``module'' sera utilisé plutôt que le terme ``pilote''.
Le but de la séparation entre modules et noyau consiste à économiser
de la mémoire RAM. Les modules sont parfois compilés ``en dur''
dans le noyau de la même manière que notre programme mon_test
a été lié statiquement dans l'exemple de la page 23.3.
Si tel est le cas, les modules seront absents dans /lib/modules/<version>/
et, à strictement parler, ils ne devraient plus être désignés par
le terme ``modules''. Dans ce chapitre-ci, nous montrons comment
créer des versions de modules compilées en dur ou compilées indépendamment
lors de la compilation d'un noyau.
- Ensuite, dans /boot/, nous trouvons le
fichier System.map. Ce dernier est utilisé
(i) par klogd , un démon qui lit les messages
émis par le noyau (résolution de symboles), les reformate et les transmet
au démon syslogd qui les enregistre dans
divers journaux selon la configuration imposée par le fichier syslog.conf,
et (ii) par depmod pour traiter les dépendances
de modules (``quel module nécessite le chargement de tel ou tel
autre module au préalable'').
- Enfin, les en-têtes du noyau /usr/src/linux/include/
sont utilisés quand certains paquets sont construits.
- Les divers démons devraient être en fonctionnement. Depuis la version
2.2, ceux-ci ont été ramenés au seul klogd.
Les autres démons du noyau qui semblent être en cours sont en réalité
produits par le noyau lui-même.
Next: Numéros de version du
Up: Sources du noyau LINUX,
Previous: Sources du noyau LINUX,
Table des matières
1-01-2006