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.
Der Erkennungsablauf
Abschnitt betitelt „Der Erkennungsablauf“┌─────────────────────────────────┐│ 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 │└─────────────────────────────────┘sysfs — die Gerätehierarchie
Abschnitt betitelt „sysfs — die Gerätehierarchie“/sys ist ein virtuelles Dateisystem, das der Kernel im Arbeitsspeicher hält.
Es spiegelt die gesamte Hardware-Topologie als Verzeichnisbaum:
ls /sys/bus/ # PCI, USB, i2c, platform, ...ls /sys/class/ # net, block, input, drm, ...ls /sys/devices/ # physische GerätehierarchieAttribute eines Geräts lesen:
cat /sys/class/net/enp3s0/speed # Netzwerkgeschwindigkeitcat /sys/class/block/sda/size # Größe in 512-Byte-Blöckencat /sys/class/thermal/thermal_zone0/temp # CPU-Temperatur (in Milligrad)/proc — Kernel-Informationen
Abschnitt betitelt „/proc — Kernel-Informationen“/proc ist ein weiteres virtuelles Dateisystem mit Kernel- und Prozess-Informationen:
cat /proc/cpuinfo # CPU-Details (Modell, Kerne, Flags)cat /proc/meminfo # RAM und Swap-Belegungcat /proc/modules # geladene Kernel-Module (wie lsmod)cat /proc/devices # registrierte Gerätetypencat /proc/interrupts # IRQ-Zuweisungencat /proc/cmdline # Kernel-Parameter beim Bootencat /proc/version # Kernel-Version und CompilerThemen dieser Sektion
Abschnitt betitelt „Themen dieser Sektion“- Werkzeuge — lspci, lsusb, lshw, dmidecode, inxi und mehr
- Kernel-Module — Treiber laden, konfigurieren, sperren
- udev — Gerätemanager, eigene Regeln schreiben