L’objectif de cet article est :
- Charger, afficher et supprimer les modules du noyau
- Afficher les informations de configuration système dans le système de fichier /proc
- Configurer des paramètres d’exécution avec le système de fichier /proc
Modules du noyau
Composants modulaires du noyau
De nombreux composants du noyau peuvent être configurés pour se charger de façon dynamique, cette possibilité permet d’accroître les fonctionnalités du noyau sans augmenter la taille de son image de démarrage. Ainsi toutes les composantes non nécessaires au démarrage sont modularisables y compris les pilotes de périphériques et tout système de fichier supplémentaire.
Le répertoire /lib/modules
Les modules du noyau résident dans
/lib/module/{version du noyau}. Le nom du répertoire correspondant à la version du noyau (comme indiqué par
uname -r ou
uname -a). A partir de la version 2.4 une structuration supplémentaire a été rajoutée incluant de nouveaux répertoires (
kernel/{arch, drivers, fs, net}) .
Contrôle de modules
Les modules sont chargés à la demande du noyau. La commande
lsmod affiche la liste des modules actuellement présents dans le noyau. Pour demander au noyau de charger d’autres modules il suffit d’utiliser la commande
insmod et
rmmod pour décharger un module inactif.
Contrôle intelligent de modules
Comme pour la dépendance des packages, les modules dépendent les uns des autres. Il est possible de générer cette dépendance via la commande
depmod.
Cette commande est exécutée de façon automatique, au niveau de REDHAT. Au démarrage du système,
rcsysinit lance la commande
depmod –A, qui compare le timpestamps des fichiers et met à jour modules.dep au besoin.
modprobe peut alors être utilisée pour charger des modules du noyau.
Configuration de modules de noyau
Lorsque le noyau a besoin d’un module, il le chargera en utilisant
modprobe, le programme
kmod est responsable de l’exécution de ce dernier.
Certains modules nécessitent pour leur exécution le passage de paramètres de configuration. Ces paramètres sont présent dans le fichier
/etc/modules.conf, qui contient les valeurs par défaut des paramètres des modules chargés ainsi que leur alias.
modprobe consulte ce fichier de configuration lors du chargement d’un nouveau module pour lui attribuer ses paramètres par défaut.
Le système de fichiers /proc
Le système de fichiers
/proc, n’est pas associé au disque dur, mais activé ou désactivé dans le noyau. Il représente une carte pour les processus du noyau en exécution. Son initialisation se fait via une entrée dans le fichier
/etc/fstab.
Il est possible de naviguer sous
/proc comme dans un répertoire normal mais il est à noter que tous les fichiers ont une taille nulle, néanmoins, il est possible d’en visualiser le contenu en utilisant uniquement les commandes tel que
cat (A éviter de visualiser le fichier
/proc/kcore car il représente une image de la mémoire du noyau encours d’exécution).
Le répertoire
/proc contient :
- /proc/scsi : informations sur les périphériques SCSI
- /proc/ide : informations sur les périphériques IDE
- /proc/net : informations sur l’activité et configuration réseaux
- /proc/sys : paramètres de configuration du noyau
- /proc/<PID> : information sur le processus PID
Configuration de /proc/sys avec sysctl
Les modifications dans
/proc/sys sont temporaires, en effet, durant le démarrage du système
rc.sysinit appelle
sysctl –e –p /etc/syctl.conf. Il définit également les valeurs pour
/proc/sys/kernel/modprobe et
/proc/kernel/hotplug. Cela rétablit automatiquement les valeurs
/proc/sys .
Publié par
wjaouadi -
Dernière mise à jour le 15 novembre 2009 à 23:00 par M@thew