Le noyau Linux est le composant central d'un système d'exploitation Linux. Le noyau Linux a une conception modulaire qui lui permet d'être étendu en termes de fonctionnalités. Les modules sont de petits morceaux de code qui peuvent être chargés et déchargés par le noyau sans avoir à redémarrer l'ordinateur. Les modules du noyau peuvent être chargés/supprimés manuellement ou automatiquement.
Lorsqu'un nouveau périphérique tel qu'USB ou PCI est connecté/retiré, le noyau envoie des uevents. Les uevents contiennent des informations sur l'appareil telles que les détails du fournisseur et du modèle. Udev (gestionnaire de périphériques) écoute ces uevents et les transmet à modprobe. Modprobe identifie intelligemment le pilote demandé en recherchant dans le répertoire du module /lib/modules/uname -r
et charge le fichier de module dans le noyau. Une fois le module chargé avec succès, il apparaît dans la liste de la commande lsmod. De plus, modprobe est utilisé pour ajouter ou supprimer manuellement un module chargeable du noyau.
Modprobe est distribué dans le cadre du package kmod. Dans ce tutoriel, nous apprenons à utiliser la commande modprobe pour ajouter et supprimer des modules du noyau Linux.
syntaxe de la commande modprobe
Vérifions la syntaxe de la commande modprobe :
$ sudo modprobe [options] [Module Name]
commande modprobe pour ajouter le module noyau
Les modules du noyau sont situés dans les sous-répertoires situés dans /lib/modules/$(uname -r)
. La commande uname -r
peut être utilisé pour déterminer la version actuelle du noyau.
Lors de l'ajout d'un module modprobe, vérifiez intelligemment la dépendance du module là où insmod ne le fait pas. Les dépendances listées dans le fichier /lib/modules/$(uname -r)/modules.dep et la référence du nom du module est spécifiée dans /etc/modules
fichier.
Pour répertorier le répertoire situé dans le module du noyau, tapez :
$ ls /lib/modules/$(uname -r)
Vous pouvez trouver tous les pilotes de périphériques dans le répertoire /lib/modules/$(uname -r)/kernel/drivers/
.
Habituellement, les fichiers de module du noyau ont .ko
extensions. Vous pouvez lister tous les .ko
fichiers par :
$ find /lib/modules/$(uname -r) -type f -name *.ko*
Vous pouvez ajouter le module au noyau Linux en utilisant la commande modprobe avec le nom du module.
$ sudo modprobe img_i2s_in
Une fois ajouté, vous pouvez confirmer par la commande lsmod qui répertorie les modules du noyau actuellement chargés.
$ sudo lsmod | grep img_i2s_in
Sortie :
img_i2s_in 16384 0
commande modprobe pour supprimer le module du noyau
Pour supprimer un module, utilisez la commande modprobe avec l'option -r avec le nom du module.
Par exemple, pour supprimer le module nommé img_i2s_in
, saisissez :
$ sudo modprobe -r img_i2s_in
Options de modprobe
La commande modprobe comporte plusieurs options, qui ont été divisées en trois catégories en fonction de leurs cas d'utilisation.
Option de gestion
Lorsque vous utilisez la commande modprobe pour ajouter ou supprimer des modules, les paramètres de gestion permettent plusieurs scénarios de gestion de modules.
Options | Description |
-a -tout | Supprimer ou ajouter plusieurs modules à la fois |
--supprimer -r | Supprimer le module, s'applique également à --remove-dependencies |
--remove-dependencies | Supprimer les modules de dépendance |
--resolve-alias -R | Identifier et imprimer le nom correspondant à un alias |
--première fois | Erreur d'impression pour les modules ajoutés ou supprimés |
--ignore-install --ignore-remove -je | Ignorer les commandes d'installation ou de suppression écrites dans le module lors de l'insertion ou de la suppression du module |
--use-liste noire -b | Alias résolus sur liste noire |
--forcer -f | Lorsqu'une erreur de version s'affiche, forcez l'ajout ou la suppression d'un module. Cela s'applique à la fois à --force-modversion et --force-vermagic. |
--force-modversion | Ignorer la version du module lors de l'ajout ou de la suppression du module. |
--force-vermagic | Ignorer la magie de la version du module lors de l'ajout ou de la suppression du module. |
Options de requête
L'option query de la commande modprobe donne des informations sur la configuration et les dépendances.
Options | Description |
--show-depends -D | S'il y a des modules avec des fichiers de dépendance, il affiche ce module |
--showconfig --show-config -c | Afficher la configuration actuelle et quitter |
--show-modversions --dump-modversions | Afficher les dépendances de version du module |
Options générales
Les options générales de la commande modprobe configurent les options de sortie, les emplacements des modules et les versions.
Options | Description |
--essai à sec --Afficher -n | Imprimez la sortie mais n'ajoutez ni ne supprimez rien. |
--config=[nom de fichier] -C | Remplace la dépendance de configuration par défaut, c'est-à-dire /etc/modprobe.d avec le [Filename] |
--dirname=[Répertoire] -d | Pour /lib/modules, utilisez [Directory] comme racine du système de fichiers |
--set-version=[version] -S | Au lieu du noyau spécifié uname , utilisez le noyau [version] |
--syslog -s | Affiche un message d'erreur via Syslog |
--silencieux -q | Ne pas afficher les messages d'erreur |
--verbeux -v | Permet d'afficher plus de messages |
--version -V | Afficher la version de modprobe |
--aide -h | Afficher le message d'aide avec les commandes |
Conclusion
Dans ce tutoriel, nous avons découvert la commande modprobe pour ajouter ou supprimer des modules du noyau Linux.
Merci de votre lecture, n'hésitez pas à nous faire part de vos commentaires et suggestions.