| | |
depmod - gestion des dépendances entre les modules du noyau.
depmod
-a [-einqsvVr] [-C configfile] [-F kernelsyms] [-b basedirectory] [forced_version]
depmod [-einqsv] [-F kernelsyms] module1.o module2.o ...
- -a
- Examine les
modules dans tous les répertoires spécifiés dans le fichier (facultatif)
de configuration /etc/modules.conf.
- -e
- Affiche toutes les fonctions non trouvées
([NdT] unresolved symbol) pour chaque module.
- -i
- Ignore les versions des
symboles lors de la construction de la liste des dépendances. C'est utile
si vous utilisez une version du noyau et que vous voulez construire des
dépendances différentes de celles du fichier System.map voir l'option -F).
À utiliser avec prudence, car si la version n'est pas la même, modprobe
ou insmod ne pourra pas charger les modules même si depmod a réussi.
- -n
- Envoie
le fichier de dépendance sur la sortie standard plutôt que dans /lib/modules.
- -s
- Envoie tous les messages d'erreurs au démon syslog plutôt que de les écrire
sur stderr.
- -v
- Affiche le nom de chaque module traité.
- -q
- Demande une éxécution
silencieuse sans compte-rendu des fonctions manquantes.
- -V
- Affiche la version
de depmod.
- -r
- Quelques utilisateurs compilent les modules sans les droits
root et les installent comme s'ils étaient root. Ce procédé peut engendrer
des modules n'appartenant pas à root, même si le répertoire des modules
est propriété du root. Si un tel compte utilisateur est piraté, un intrus
peut modifier ces modules et les utiliser pour obtenir un accès root. Par
défaut, modutils rejettera les demandes d'utilisation d'un module qui n'appartient
au root. Spécifier -r supprimera l'erreur et autorisera le chargement des
modules qui n'appartiennent pas au root. L'utilisation de -r est un danger
pour la sécurité et n'est pas recommandée.
Les options suivantes sont utiles
aux personnes qui développent des distributions :
- -b basedirectory
- Cette
option indique à depmod où se trouve le point de départ de l'arborescence
des modules, dans le cas où ce n'est pas /lib/modules. Les noms indiqués
dans le fichier modules.dep créé par depmod, ne contiendront pas basedirectory.
Cela signifie que l'arborescence basedirectory/lib/modules pourra se retrouver
dans /lib/modules dans la distribution, avec toutes les références correctes.
- -C configfile
- Utilise le fichier configfile plutôt que le fichier /etc/modules.conf.
La variable d'environnement MODULECONF peut aussi être utilisée pour sélectionner
un fichier de configuration différent de celui par défaut (/etc/modules.conf
ou /etc/conf.modules (à éviter)).
- -F kernelsyms
- Quand on construit les fichiers
des dépendances pour un noyau différent de celui en cours d'utilisation,
il est important que depmod utilise le bon jeu de fonctions pour trouver
les références du noyau dans chaque module. Ces fonctions peuvent être une
copie de System.map provenant d'un autre noyau, ou une copie de la sortie
de /proc/ksyms. Si votre noyau utilise d'autres versions des fonctions, vous
devez utilisez une copie de la sortie de /proc/ksyms, car ce fichier contient
les fonctions de version des fonctions du noyau, à moins d'utiliser l'option
-i. Pour obtenir la compatibilité, -m kernelsyms est identique à -F kernelsyms
Les utilitaires depmod et modprobe sont faits pour rendre le
noyau modulaire de Linux utilisable par tous les utilisateurs, administrateurs
et développeurs de distribution.
depmod crée un fichier de type "makefile"
pour les dépendances, basé sur les fonctions qu'il trouve dans l'ensemble
des modules mentionnés sur sa ligne de commande ou provenant des répertoires
spécifiés dans le fichier de configuration. Ce fichier de dépendances sera
utilisé par modprobe pour charger automatiquement le module demandé ou
l'ensemble des modules.
Une utilisation normale de depmod est d'inclure la
ligne /sbin/depmod -a quelque part dans un fichier rc dans /etc/rc.d, pour
que les dépendances des modules soient valides dès que le système démarre.
On peut noter que l'option -a est maintenant optionnelle. Dans ce but, l'option
-q devrait être plus appropriée depuis car elle évite les affichages d'erreurs
en cas de symboles non trouvés.
Il est aussi possible de créer le ficher
des dépendance juste après avoir compilé un nouveau noyau. Si vous faites
"depmod -a 2.2.99" quand vous avez compilé le noyau 2.2.99 et ses modules dans
un premier temps, pendant que le noyau 2.2.98 (par exemple) continue de s'éxécuter,
le fichier sera créé là où il faut.
Dans ce cas par contre, les dépendances pour le noyau ne sont pas garanties
d'être correctes. Voir les options -F, -C et -b pour plus d'informations dans
ce cas.
Le comportement de depmod et de modprobe peut être
ajusté par le fichier (otpionnel) de configuration /etc/modules.conf
Voir modprobe(8)
et modules.conf(5)
pour une description complète.
Chaque
fois que vous compilez un nouveau noyau, la commande make modules_install
créera une nouveau répertoire, mais ne changera pas le répertoire par défaut.
Quand vous avez un module non relié à la distribution du noyau, vous devez
le mettre dans un répertoire indépendant de la version dans /lib/modules.
C'est la stratégie par défaut, laquelle peut être remplacée par une modification
de /etc/modules.conf.
/etc/modules.conf
/lib/modules/*/modules.dep,
/lib/modules/*
modules.conf(5)
, modprobe(8)
, modinfo(8)
, lsmod(8)
, ksyms(8)
,
modules(2)
.
Jacques Gelinas (jack@solucorp.qc.ca)
Bjorn Ekwall (bj0rn@blox.se)
Jérome Signouret, 2000.
Table des matières
© 1996-2000 Adaptation française "Christophe Blaess"
| |