Wie bekomme ich eine Liste der aktiven Treiber, die statisch in den Linux-Kernel eingebaut sind?

28

Während kann ich , lsmodum gerade aktive Kernel - Module zu zeigen, wie kann ich sehen , welche Treiber statisch in den Kernel eingebaut sind und zur Zeit aktiv?

JohnnyFromBF
quelle

Antworten:

28

Sie könnten ein tun cat /lib/modules/$(uname -r)/modules.builtin

Aus der Kernel- Dokumentation

modules.builtin

Diese Datei listet alle Module auf, die in den Kernel eingebaut sind. Dies wird von modprobe verwendet, um beim Versuch, etwas Eingebautes zu laden, keinen Fehler zu verursachen.

sager89
quelle
modules.builtin existiert in meinem System nicht mit uname: Linux ecp 4.4.127-1.el6.elrepo.i686 # 1 SMP So Apr 8 09:44:43 EDT 2018 i686 i686 i386 GNU / Linux. Gibt es einen anderen Weg, um herauszufinden, welche Treiber eingebaut sind?
Danny
@Danny Stellen Sie sicher, dass Sie verwenden uname -rund nicht die häufigereuname -a
Nairou
7

Wenn Ihr Linux ein /proc/config.gz hat

Das hat alle gebauten Module. Kopieren Sie es an eine andere Stelle und entpacken Sie es. Öffne die Datei alles was mit einem "= M" als Modul aufgebaut ist. Alles mit einem "= Y" ist statisch aufgebaut.

hwinfo listet den "Treiber:" auf. Überprüfen Sie die obige Datei, um festzustellen, ob sie statisch aufgebaut ist.

Zu Ihrer Information: Alle statisch aufgebauten Treiber werden immer in den Speicher geladen und sind einsatzbereit. Ohne die entsprechende Hardware werden sie nichts tun, sondern Speicher verwenden.

Cybernard
quelle
1
Was ist, wenn es keine gibt /proc/config.gz?
JohnnyFromBF
Ok, ich habe gerade eine .config-Datei in dem Verzeichnis gefunden, in dem ich den Kernel kompiliert habe. Das haben Sie natürlich gemeint.
JohnnyFromBF
1
Diese Datei gibt es auch hier: /boot/config-$(uname -r).
JohnnyFromBF
1
ls /sys/module

scheint alle eingebauten und externen Module zu enthalten.

Es scheint aber auch einige Einträge zu enthalten, die eigentlich keine Module sind: https://unix.stackexchange.com/questions/225706/are-modules-listed-under-sys-module-all-the-loaded-modules

TODO: Lies die Quelle und verstehe genauer, was dort abgelegt wird.

Der Vorteil dieser Methode ist, dass Sie sich nicht darauf verlassen müssen, dass Sie die Kernel-Konfiguration unter /bootoder finden /proc/config.gz.

Ciro Santilli ist ein Schauspieler
quelle