depmod [ -b répertoire-de-base] [ -e] [ -F System.map] [ -n] [ -v] [ version] [ -A]
depmod [ -e] [ -FSystem.map] [ -n] [ -v] [ version] [ nom-de-fichier...]
Les modules du noyau Linux peuvent fournir des services (appelés « symboles ») pour que les autres modules puissent l'utiliser (en utilisant EXPORT_SYMBOL dans le code). Si un second module utilise ce symbole, chaque second module dépend explicitement de ce premier module. Ces dépendances peuvent devenir assez complexes.
depmod crée une liste des dépendances de modules, en lisant chaque module dans /lib/modules/version et en déterminant quels symboles il exporte, et de quels symboles il a besoin. Par défaut, cette liste est écrite dans le fichier modules.dep dans le même répertoire. Si les noms de fichiers sont donnés sur la ligne de commandes, seuls ces modules seront examinés (ce qui est rarement utilisé, à moins que tous les modules ne soient listés).
Si une version est fournie, alors le répertoire correspondant au numéro de la version du noyau sera utilisé, au lieu du numéro de version du noyau courant (tel qu'il est donné par « uname -r »).
depmod va également générer de multiples fichiers map dans ce répertoire, en vue d'une utilisation par l'infrastructure hotplug.
Si vos modules ne sont pas actuellement dans le répertoire (habituel) /lib/modules/version, mais à un autre endroit, vous pouvez préciser un argument répertoire-de-base qui est préfixé au nom du répertoire. Ce répertoire-de-base est enlevé du fichier modules.dep résultant, aussi tout est en place pour que l'on utilise la localisation habituelle.
Lorsqu'il est combiné avec l'option -F , il signale chaque symbole dont a besoin un module et qui n'est ni fourni par un autre module ni par le noyau. Normalement, on considère que tous les symboles qui ne sont pas fournis par des modules sont fournis par le noyau (ce qui devrait être le cas, dans un monde parfait).
Avec le System.map produit à la construction du noyau, cela permet à l'option -e de signaler les symboles non-résolus.
Cette option envoie sur la sortie standard le module.dep puis les multiples fichiers map, au lieu de les écrire dans le répertoire du module.
Cette option essaye de voir si chaque module est plus récent que le fichier modules.dep avant d'effectuer sa tâche, sinon il quitte silencieusement au lieu de régénérer les fichiers.
Cette version de depmod est destinée aux noyaux 2.5.48 et suivants. S'il détecte un noyau qui supporte l'ancien type de modules, ou si la version spécifiée est antérieure à 2.5.48, il va essayer de lancer depmod.old à la place, ce qui le rend totalement transparent pour l'utilisateur.