Linux

CentOS 4.8

depmod(8)


DEPMOD

NOM

depmod − gestion des dépendances entre les modules du noyau.

SYNOPSIS

depmod -a [-einqsvVr] [-C configfile] [-F kernelsyms] [-b basedirectory] [forced_version]
depmod
[-einqsv] [-F kernelsyms] module1.o module2.o ...

OPTIONS

-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 exé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

DESCRIPTION

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’exé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.

CONFIGURATION

Le comportement de depmod et de modprobe peut être ajusté par le fichier (optionnel) de configuration /etc/modules.conf
Voir modprobe(8) et modules.conf(5) pour une description complète.

STRATÃGIE

Chaque fois que vous compilez un nouveau noyau, la commande make modules_install créera un 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.

FICHIERS

/etc/modules.conf
/lib/modules/*/modules.dep,
/lib/modules/*

VOIR AUSSI

modules.conf(5), modprobe(8), modinfo(8), lsmod(8), ksyms(8), modules(2).

AUTEURS

Jacques Gelinas (jack@solucorp.qc.ca)
Bjorn Ekwall (bj0rn@blox.se)

TRADUCTION

Jérome Signouret, 2000.


depmod(8)