Zum Inhalt springen

Hardware-Erkennung

Linux erkennt Hardware weitgehend automatisch — ohne manuelle Treiber-Installation wie unter Windows. Der Mechanismus dahinter ist ein Zusammenspiel aus Kernel, sysfs und udev.

┌─────────────────────────────────┐
│ Hardware (PCI, USB, ACPI, ...) │
└──────────────┬──────────────────┘
│ Gerät angeschlossen / Systemstart
┌─────────────────────────────────┐
│ Linux-Kernel │
│ erkennt Gerät, liest Vendor-ID │
│ und Device-ID │
└──────────────┬──────────────────┘
│ schreibt Gerätedaten
┌─────────────────────────────────┐
│ sysfs (/sys) │
│ virtuelle Gerätehierarchie │
│ im Dateisystem │
└──────────────┬──────────────────┘
│ uevent (Kernel-Ereignis)
┌─────────────────────────────────┐
│ udev (Gerätemanager) │
│ wertet Regeln aus │
│ lädt Kernel-Modul (Treiber) │
│ erstellt /dev-Eintrag │
│ setzt Berechtigungen │
└─────────────────────────────────┘

/sys ist ein virtuelles Dateisystem, das der Kernel im Arbeitsspeicher hält. Es spiegelt die gesamte Hardware-Topologie als Verzeichnisbaum:

Terminal-Fenster
ls /sys/bus/ # PCI, USB, i2c, platform, ...
ls /sys/class/ # net, block, input, drm, ...
ls /sys/devices/ # physische Gerätehierarchie

Attribute eines Geräts lesen:

Terminal-Fenster
cat /sys/class/net/enp3s0/speed # Netzwerkgeschwindigkeit
cat /sys/class/block/sda/size # Größe in 512-Byte-Blöcken
cat /sys/class/thermal/thermal_zone0/temp # CPU-Temperatur (in Milligrad)

/proc ist ein weiteres virtuelles Dateisystem mit Kernel- und Prozess-Informationen:

Terminal-Fenster
cat /proc/cpuinfo # CPU-Details (Modell, Kerne, Flags)
cat /proc/meminfo # RAM und Swap-Belegung
cat /proc/modules # geladene Kernel-Module (wie lsmod)
cat /proc/devices # registrierte Gerätetypen
cat /proc/interrupts # IRQ-Zuweisungen
cat /proc/cmdline # Kernel-Parameter beim Booten
cat /proc/version # Kernel-Version und Compiler
  • Werkzeuge — lspci, lsusb, lshw, dmidecode, inxi und mehr
  • Kernel-Module — Treiber laden, konfigurieren, sperren
  • udev — Gerätemanager, eigene Regeln schreiben