26.3. Charger un module

Pour charger un module de noyau, veuillez exécuter modprobe module_name en tant qu'utilisateur root. Par exemple, pour charger le module wacom, veuillez exécuter :
~]# modprobe wacom
Par défaut, modprobe tente de charger le module de /lib/modules/kernel_version/kernel/drivers/. Dans ce répertoire, chaque type de module possède son propre sous-répertoire, comme net/ et scsi/, pour les pilotes des interfaces réseau et SCSI, respectivement.
Certains modules ont des dépendances qui sont d'autres modules de noyau devant être chargés avant que le module en question puisse être chargé. La commande modprobe prend toujours les dépendances en compte lorsqu'elle effectue des opérations. Lorsque vous demandez à modprobe de charger un module de noyau spécifique, il examine avant tout les dépendances de ce module, s'il y en a, et les charge si elles ne sont pas déjà chargées dans le noyau. modprobe résoud les dépendances de manière récursive : les dépendances des dépendances seront chargées, et ainsi de suite si nécessaire, assurant ainsi que toutes les dépendances soient bien résolues.
Vous pouvez utiliser l'option -v (ou --verbose) pour faire en sorte que modprobe affiche des informations détaillées sur ce qui est fait, ce qui peut inclure le chargement de dépendances de modules.

Exemple 26.3. modprobe -v affiche les dépendances de module au fur et à mesure de leur chargement

Vous pouvez charger le module Fibre Channel over Ethernet de manière détaillée en saisissant ce qui suit dans l'invite shell :
~]# modprobe -v fcoe
insmod /lib/modules/3.10.0-121.el7.x86_64/kernel/drivers/scsi/scsi_tgt.ko
insmod /lib/modules/3.10.0-121.el7.x86_64/kernel/drivers/scsi/scsi_transport_fc.ko
insmod /lib/modules/3.10.0-121.el7.x86_64/kernel/drivers/scsi/libfc/libfc.ko
insmod /lib/modules/3.10.0-121.el7.x86_64/kernel/drivers/scsi/fcoe/libfcoe.ko
insmod /lib/modules/3.10.0-121.el7.x86_64/kernel/drivers/scsi/fcoe/fcoe.ko
Dans cet exemple, vous pouvez voir que modprobe a chargé les modules scsi_tgt, scsi_transport_fc, libfc et libfcoe en tant que dépendances avant de finalement charger fcoe. Remarquez également que modprobe a utilisé une commande plus primitive, insmod, pour insérer les modules dans le noyau en cours d'exécution.

Important

Même si la commande insmod peut également être utilisée pour charger des modules de noyau, elle ne résoud pas de dépendances. Par conséquent, vous devriez toujours charger les modules à l'aide de modprobe.