Linux-Befehl modprobe mit nützlichen Beispielen

Der Linux-Kernel ist die Kernkomponente eines Linux-Betriebssystems. Der Linux-Kernel ist modular aufgebaut, wodurch er funktional erweitert werden kann. Module sind kleine Codestücke, die vom Kernel geladen und entladen werden können, ohne dass der Computer neu gestartet werden muss. Kernelmodule können manuell oder automatisch geladen/entfernt werden.

Wenn ein neues Gerät wie USB oder PCI angeschlossen/entfernt wird, sendet der Kernel uevents. Die uevents enthalten Informationen zum Gerät wie Hersteller- und Modelldetails. Udev (Gerätemanager) hört auf diese Ereignisse und gibt sie an modprobe weiter. Modprobe Identifiziert den angeforderten Treiber intelligent durch Suche im Modulverzeichnis /lib/modules/uname -r und lädt die Moduldatei in den Kernel. Sobald das Modul erfolgreich geladen wurde, erscheint es in der Liste des Befehls lsmod. Darüber hinaus wird modprobe verwendet, um manuell ein ladbares Modul zum Kernel hinzuzufügen oder daraus zu entfernen.

Modprobe wird als Teil des kmod-Pakets vertrieben. In diesem Tutorial lernen wir, wie man modprobe-Befehl um Module zum Linux-Kernel hinzuzufügen und daraus zu entfernen.

modprobe-Befehlssyntax

Lassen Sie uns die Syntax des Befehls modprobe überprüfen:

$ sudo modprobe [options] [Module Name]

modprobe-Befehl zum Hinzufügen des Kernel-Moduls

Kernel-Module befinden sich in den Unterverzeichnissen unter /lib/modules/$(uname -r). Der Befehl uname -r kann verwendet werden, um die aktuelle Kernel-Version zu ermitteln.

Wenn Sie ein Modul modprobe hinzufügen, überprüfen Sie auf intelligente Weise die Modulabhängigkeit, wo insmod dies nicht tut. Die in der Datei /lib/modules/$(uname -r)/modules.dep aufgelisteten Abhängigkeiten und die Referenz des Modulnamens sind in . angegeben /etc/modules Datei.

Geben Sie Folgendes ein, um das gefundene Verzeichnis des Kernelmoduls aufzulisten:

$ ls /lib/modules/$(uname -r)

Sie finden alle Gerätetreiber im Verzeichnis /lib/modules/$(uname -r)/kernel/drivers/.

Normalerweise haben Kernelmoduldateien .ko Erweiterungen. Sie können alle auflisten .ko Dateien von:

$ find /lib/modules/$(uname -r) -type f -name *.ko*

Sie können das Modul zum Linux-Kernel hinzufügen, indem Sie den Befehl modprobe zusammen mit dem Modulnamen verwenden.

$ sudo modprobe img_i2s_in

Nach dem Hinzufügen können Sie den Befehl lsmod bestätigen, der die derzeit geladenen Kernelmodule auflistet.

$ sudo lsmod | grep img_i2s_in

Ausgabe:

img_i2s_in 16384 0

modprobe-Befehl zum Entfernen des Kernel-Moduls

Um ein Modul zu entfernen, verwenden Sie den Befehl modprobe mit der Option -r zusammen mit dem Modulnamen.

Für example, um das Modul namens . zu entfernen img_i2s_in, Typ:

$ sudo modprobe -r img_i2s_in

modprobe-Optionen

Der Befehl modprobe hat mehrere Optionen, die basierend auf ihren Anwendungsfällen in drei Kategorien unterteilt wurden.

Verwaltungsoption

Wenn Sie den Befehl modprobe verwenden, um Module hinzuzufügen oder zu entfernen, ermöglichen die Verwaltungsparameter mehrere Szenarien für die Modulhandhabung.

OptionenBeschreibung
-ein
-alle
Entfernen oder fügen Sie mehrere Module gleichzeitig hinzu
–Löschen
-R
Modul entfernen, gilt auch für –remove-dependencies
–Entferne-AbhängigkeitenAbhängigkeitsmodule entfernen
–resolve-alias
-R
Identifizieren und drucken Sie den Namen, der einem Alias ​​entspricht
–erstes MalDruckfehler bei hinzugefügten oder entfernten Modulen
–ignore-install
–ignore-remove
-ich
Ignorieren Sie die im Modul geschriebenen Installations- oder Entfernungsbefehle beim Einfügen oder Entfernen des Moduls
–use-blacklist
-B
Alias ​​auf Blacklist aufgelöst
–Gewalt
-F
Wenn ein Versionsfehler angezeigt wird, erzwingen Sie das Hinzufügen oder Entfernen von Modulen. Dies gilt sowohl für –force-modversion als auch für –force-vermagic.
–force-modversionModulversion beim Hinzufügen oder Entfernen des Moduls ignorieren.
–force-vermagicIgnorieren Sie die Magie der Modulversion beim Hinzufügen oder Entfernen des Moduls.

Verwaltungsoption des modprobe-Befehls

Abfrageoptionen

Die query-Option des modprobe-Befehls gibt Auskunft über Konfiguration und Abhängigkeiten.

OptionenBeschreibung
–zeigen-abhängig
-D
Wenn Module mit Abhängigkeitsdateien vorhanden sind, wird dieses Modul angezeigt
–showconfig
–show-config
-C
Anzeige der aktuellen Konfiguration und Beenden
–modversionen anzeigen
–dump-modversions
Abhängigkeiten von Modulversionen anzeigen

Abfrageoptionen des modprobe-Befehls

Allgemeine Optionen

Die allgemeinen Optionen im Befehl modprobe konfigurieren die Ausgabeoptionen, Modulstandorte und Versionen.

OptionenBeschreibung
–Probelauf
–Show
-n
Drucken Sie die Ausgabe, aber fügen Sie nichts hinzu oder entfernen Sie nichts.
–config=[Filename]
-C
Überschreibt die Standardkonfigurationsabhängigkeit, dh /etc/modprobe.d mit dem [Filename]
–dirname=[Directory]
-D
Für /lib/modules verwenden [Directory] als Dateisystem-Root
–set-version=[version]
-S
Anstelle des angegebenen Kernels uname, benutze die [version] Kernel
–syslog
-S
Zeigt Fehlermeldung über Syslog an
–ruhig
-Q
Fehlermeldungen nicht anzeigen
–verbose
-v
Ermöglicht das Anzeigen weiterer Nachrichten
–Ausführung
-V
Anzeigeversion von modprobe
–Hilfe
-h
Hilfenachricht zusammen mit Befehlen anzeigen

Allgemeine Optionen des modprobe-Befehls

Fazit

In diesem Tutorial haben wir den Befehl modprobe zum Hinzufügen oder Entfernen von Modulen zum Linux-Kernel kennengelernt.

Vielen Dank fürs Lesen, bitte geben Sie Ihr Feedback und Ihre Vorschläge ab.