La commande modprobe est très utile pour charger et décharger des modules du noyau Linux.
Elle permet aussi de configurer les modules depuis /etc/modprobe.d
Dans ce tutoriel, je vous montre comment utiliser la commande modprobe mais aussi comment configurer le modules du noyaux Linux depuis /etc/modprobe.d/.

Table des matières
- 1 Comment utiliser modprobe
- 1.1 Comment charger un module dans le noyau Linux
- 1.2 Comment décharger un module du noyau Linux
- 1.3 Comment ignorer les vérifications et forcer l’insertion ou le retrait d’un module
- 1.4 Lister les dépendances d’un module
- 1.5 Comment afficher les modules blacklistés
- 1.6 Comment afficher la configuration de tous les modules
- 2 Comment configurer /etc/modprobe.d/
- 3 Liens
Comment utiliser modprobe
La commande modprobe vous permet de charger et décharger des modules dans le noyaux Linux.
Comment charger un module dans le noyau Linux
Pour ajouter un module au noyau Linux avec modprobe :
sudo modprobe <nom du module>
Par exemple :
sudo modprobe bfq
Pour charger plusieurs modules, utilisez l’option -a :
sudo modprobe <options> -a <nom du module> <nom du module>
Trouvez tous les modules disponibles pour la version actuelle du noyau avec :
find /lib/modules/$(uname -r) -type f -name '*.ko*' | more
Comment décharger un module du noyau Linux
Pour retirer un module du noyau Linux avec modprobe, utilisez l’option -r (remove).
Cela va aussi décharger tous les modules qui en dépendent :
sudo modprobe -r bfq
Comment ignorer les vérifications et forcer l’insertion ou le retrait d’un module
Modprobe propose l’option –force (ou -f) pour forcer l’insertion ou la suppression du module de force lorsque les erreurs de version apparaissent.
Ignorer les vérifications de version d’un module du noyau peut provoquer un plantage du noyau ou un comportement non défini du système en raison de l’incompatibilité.
N’utilisez donc ces options qu’avec la plus grande prudence.
modprobe --force <nom du module>
modprobe -r --force <nom du module>
Lister les dépendances d’un module
La commande modprobe donne la possibilité d’afficher les informations de dépendance d’un module (ou alias).
Pour cela, on utilise l’option –show-depend :
modprobe --show-depends <nom du module>
Par exemple pour afficher les dépendances de usbhib :
modprobe --show-depends usbhid
On voit que ce dernier a une dépendance avec le module hid.
Comment afficher les modules blacklistés
Parfois, on peut avoir besoin de vérifier si un module est en liste noire.
Pour afficher les modules blacklistés, vous devez grep blackList à partir de la sortie modprobe –showconfig :
modprobe --showconfig | grep blacklist
Comment afficher la configuration de tous les modules
Utilisez l’option –show-config pour afficher la configuration complète des modules du noyau Linux :
modprobe --show-config <nom du module>
ou l’option -c :
modprobe -c
Comment configurer /etc/modprobe.d/
La configuration de modprobe se trouve dans le répertoire /etc/modprobe.d.
Editez ou ajoutez un fichier de configuration (fichier .conf) pour modifier le comportement de modprobe.
Le fichier de configuration accepte différentes commandes pour configurer le chargement des modules du noyau Linux.
Les commandes dans /etc/modprobe.d/
Commande | Description |
alias wildcard <nom du module> | Permet de donner un nom alternatif pour un module ex: alias my-mod really_long_module_name). Certains modules contiennent leur propre alias (voir modinfo) utilisé si aucun alias n’est définis. |
blacklist <nom du module> | indique que tous les alias interne d’un module sont ignorés. |
install <nom du module> command… | Lancer cette commande au lieu d’insérer le module normalement. Peut-être une commande Shell. Cette commande sera remplacée dans le future. |
options <nom du module> options | Permet d’ajouter des options au module spécifié |
remove <nom du module>commandes... | Identique à install mais est utilisé avec modprobe -r |
softdep <nom du module> | Permet de spécifier des dépendances modules soft ou facultatives. <nom du module> peut être utilisé sans ces modules facultatifs installés, mais généralement avec certaines fonctionnalités manquantes. |
Créer un alias dans modprobe
Les alias sont des noms alternatifs que l’on peut attribuer à un module.
Cela permet ensuite d’être utilisé dans la commande modprobe.
alias <nom du module> <alias>
Utilisez la commande modinfo pour obtenir les options disponibles du module (ligne parm).
Ajouter des options
Cette commande vous permet d’ajouter des options au module à chaque fois qu’il est inséré dans le noyau.
Toutes les options sont additionnées: ils peuvent provenir d’une option pour le module lui-même, pour un alias et sur la ligne de commande.
La syntaxe est :
options <nom du module> <options>
Par exemple pour ajouter l’option start_ro=1 sur le module md_mod :
options md_mod start_ro=1
Mettre un module en liste noire (blacklist)
Vous pouvez ajouter un module en liste noire afin d’empêcher son chargement.
Cela est utile si un module cause des instabilités ou si un module entre en conflit avec un autre.
Généralement, on ajoute cela dans le fichier blacklist.conf mais vous pouvez spécifier un blacklist dans n’importe quel fichier.
La syntaxe est la suivante :
blacklist <nom du module>
Par exemple, pour ajouter le module bfq en liste noire :
echo "blacklist bfq" >> /etc/modprobe.d/blacklist.conf
Utiliser softdep pour ajouter des dépendances
Permet de spécifier des dépendances lors de l’insertion ou le retrait d’un module.
Pour cela, on utilise pre: pour charger ou post: pour charger après.
Par exemple pour ajouter une dépendance à vboxdrv avec vfat lors de son insertion :
softdep vboxdrv post: vfat
Lorsque vboxdrv va être chargé, cela va aussi charger vfat.
Liens
- Système d’exploitation et OS : qu’est-ce que c’est ? comment ça marche ?
- Qu’est-ce que le noyau d’un OS (Kernel)
- Qu’est-ce que le Noyau Linux (kernel) : rôle, versions et comment ça marche
- Les modules du noyau Linux : charger, décharger et fonctionnement
- Comment compiler le noyau Linux
- Utiliser modprobe et configurer /etc/modprobe.d/
- Ajouter un module du noyau Linux avec module assistant sur Debian
- Qu’est-ce que initrd dans Linux : rôle et comment ça marche
- Qu’est-ce que vmlinuz dans Linux
- Comment connaître la version du noyau Linux
- Commande uname sur Linux avec des exemples
- sysctl : paramétrer le noyau Linux
- NTFS, EXT4 : Comprendre les systèmes de fichiers