DEPMOD(8)

NOM

depmod – Génération de fichiers modules.dep et map.

SYNOPSIS

depmod [-b rép_base] [-m rép_module] [-o rép_sortie] [-e] [-E Module.symvers]
       [-F System.map] [-n] [-v] [-A] [-P préfixe] [-w] [version]

depmod [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-P préfixe]
        [-w] [version] [nom_de_fichier...]

DESCRIPTION

Les modules du noyau Linux peuvent fournir des services (appelés « symboles ») à d'autres modules (en utilisant une des variantes EXPORT_SYMBOL dans le code). Si un second module utilise ce symbole, ce second module dépend clairement du premier module. Ces dépendances peuvent devenir assez complexes.

depmod crée une liste de dépendances de module en lisant chaque module sous <RÉP_BASE>/<RÉP_MODULE>/version. Par défaut <RÉP_MODULE> est /lib/modules et <RÉP_BASE> est vide. Voir les options plus haut pour écraser cela lorsque nécessaire. Il détermine quels symboles chaque module exporte et ceux nécessaires. Cette liste est écrite dans modules.dep et une version binaire hachée nommée modules.dep.bin dans le même répertoire. Si des noms de fichier sont donnés sur la ligne de commande, seuls ces modules sont examinés (ce qui est rarement utile à moins que tous les modules ne soient listés). depmod crée aussi une liste des symboles fournis par les modules dans le fichier nommé modules.symbols et sa version binaire hachée modules.dep.bin. Enfin, depmod produira un fichier nommé modules.devname si les modules fournissent des noms de périphérique spécial (devname) qui doivent être listés dans /dev à l'amorçage (par un utilitaire tel que systemd-tmpfiles).

Si une version est fournie, le répertoire de module de cette version du noyau est utilisé à la place de la version actuelle du noyau (telle que renvoyée par uname -r).

OPTIONS

-a, --all
    Examiner tous les modules. Cette option est activée par défaut si aucun nom de fichier n'est donné sur la ligne de commande.

-A, --quick
    Cette option réalise une analyse pour voir si des modules sont plus récents que ceux du fichier modules.dep avant qu'un quelconque travail ne soit entrepris ; s'il n'y en a pas, elle quitte silencieusement au lieu de régénérer les fichiers.

-b rép_base, --basedir =rép_base
    Écraser le répertoire de base <RÉP_BASE> où sont situés les modules. Si des modules ne sont pas actuellement dans le répertoire (normal) /lib/modules/version, mais dans une zone intermédiaire, un répertoire de base rép_base peut être spécifié qui est ajouté au début du nom du répertoire. Ce rép_base est extrait du fichier modules.dep résultant, donc il est prêt à être déplacé à son emplacement normal. Utilisez cette option si vous êtes un fournisseur de distribution qui a besoin de prégénérer les fichiers de métadonnées au lieu d'exécuter depmod à nouveau plus tard.

    Si un chemin relatif est donné, il sera relatif au répertoire de travail actuel.

    Exemple :
        depmod -b /my/build/staging/dir/

    Cette commande s'attend à trouver tous les fichiers en entrée sous /my/build/staging/dir/lib/modules/$(uname -r) et génère les fichiers d'index dans le même répertoire.

-mrép_module, --moduledir=rép_module
    Écraser le répertoire de module <RÉP_MODULE>, qui par défaut est le préfixe /lib/modules défini au moment de la construction. Cela est utile lors de la construction du fichier modules.dep dans le rép_base pour un système qui utilise un préfixe différent (par exemple, /usr/lib/modules plutôt que /lib/modules).

    Les chemins relatifs et absolus sont acceptés, mais ils sont toujours relatifs au rép_base.

    Exemples :
        depmod -b /tmp/build -m /kernel-modules
        depmod -b /tmp/build -m kernel-modules

    Cette commande s'attend à trouver tous les fichiers en entrée sous /tmp/build/kernel-modules/$(uname -r) et génère les fichiers d'index dans le même répertoire.

    Sans l'argument -b, le répertoire module est relatif à /. Exemple :

        depmod -m machin/truc

    Cette commande s'attend à trouver tous les fichiers en entrée sous /machin/truc/$(uname -r) et génère les fichiers d'index dans le même répertoire. À moins que la bibliothèque libkmod ne soit préparée à gérer cet emplacement arbitraire, cela ne fonctionnera pas au moment de l'exécution.

-o rép_cible, --outdir =rép_cible
    Définir le répertoire cible où depmod stockera les fichiers générés. rép_cible sert de racine à ce répertoire, de façon similaire à l'usage de rép_base. De plus, ce réglage aura la préséance et, s’il est utilisé avec rép_base, il aboutira à ce que l’entrée soit ce répertoire, mais que la sortie soit celle définie par rép_cible.

    Si un chemin relatif est donné, il sera relatif au répertoire de travail actuel.

    Exemple :
        depmod -o /my/build/staging/dir/

    Cette commande s'attend à trouver tous les fichiers en entrée sous /lib/modules/$(uname -r) et génère les fichiers d'index sous /my/build/staging/dir/lib/modules/$(uname -r).

-C,fichier ou répertoire --config =fichier ou répertoire
    Cette option écrase le répertoire de configuration par défaut. Voir depmod.d/(5).

-e, --errsyms
    Lorsque cette option est combinée avec l'option -F, elle annonce tous les symboles nécessaires à un module et qui ne sont pas fournis par d'autres modules ou le noyau. Normalement, tous les symboles qui ne sont pas fournis par les modules sont supposés fournis par le noyau (ce qui pourrait être vrai dans un monde parfait), mais cette hypothèse ne tient pas, en particulier lorsque des pilotes supplémentaires mis à jour de parties tierces sont installés ou sont construits de façon incorrecte.

-E Module.symvers --symvers =Module.symvers
    Lorsque cette option est combinée avec l'option -e, elle rapporte toutes les versions des symboles fournis par les modules qui ne correspondent pas aux versions des symboles fournies par le noyau dans son Module.symvers. Cette option est mutuellement incompatible avec -F.

-FSystem.map, --filesyms =System.map
    Fournie en plus du fichier System.map produit lors de la compilation du noyau, cette option autorise l'option -e à rapporter les symboles non résolus. Cette option est mutuellement incompatible avec -E.

-h, --help
    Afficher un message d'aide puis quitter.

-n, --show, --dry-run
    Envoyer les divers fichiers map et modules.dep résultants sur la sortie standard au lieu de les écrire dans le répertoire du module.

-P
    Quelques symboles préfixes d'architecture avec un caractère supplémentaire. Cette option permet d’indiquer un caractère de préfixe (par exemple « _ ») à ignorer.

-v, --verbose
    En mode bavard, depmod affichera (sur la sortie standard) tous les symboles dont dépend chaque module et le nom de fichier de module fournissant le/les symbole(s.)

-V, --version
    Afficher la version du programme et quitter. Voir les avertissements ci-dessous lors d’une exécution avec de vieux noyaux.

-w
    Avertir lors de dépendances dupliquées, d’alias, de versions de symboles, etc.

COPYRIGHT

Cette page de manuel était originellement sous copyright 2002, Rusty Russell, IBM Corporation, et en partie sous copyright par Jon Masters et d'autres.

VOIR AUSSI

depmod.d(5), modprobe(8), modules.dep(5)

BOGUES

Merci d'envoyer les rapports de bogues directement au suivi des bogues de kmod à https://github.com/kmod-project/kmod/issues/ avec la version utilisée, les étapes pour reproduire le bogue et le retour espéré.

AUTEURS

De nombreuses contributions proviennent de la liste de diffusion linux-modules <linux-modules@vger.kernel.org> et de Github. Si vous avez une copie de kmod.git lui-même, les sorties de git-shortlog(1) et de git-blame(1) vous indiquerons les auteurs de certaines parties du projet.

Lucas De Marchi <lucas.de.marchi@gmail.com> est le responsable actuel du projet.

TRADUCTION
La traduction française de cette page de manuel a été créée par bubu <bubub@no-log.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.