Kernel-Module
Der Linux-Kernel ist modular aufgebaut. Kernel-Module sind Treiber und Erweiterungen, die zur Laufzeit in den Kernel geladen und wieder entladen werden können — ohne Neustart.
uname -r # aktuelle Kernel-Version# 6.1.0-18-amd64Module liegen als .ko-Dateien unter /lib/modules/$(uname -r)/:
find /lib/modules/$(uname -r) -name "*.ko" | head -10Geladene Module anzeigen
Abschnitt betitelt „Geladene Module anzeigen“lsmod # alle aktuell geladenen Module
# Ausgabe-Spalten:# Module Size Used by# e1000e 245760 0# i2c_algo_bit 16384 1 e1000e- Module — Name des Moduls
- Size — Speicherbedarf in Bytes
- Used by — andere Module oder Geräte, die dieses Modul nutzen (Referenzzähler)
Modul-Informationen
Abschnitt betitelt „Modul-Informationen“modinfo e1000e # Metadaten des ModulsWichtige Felder:
filename: /lib/modules/.../e1000e.kodescription: Intel(R) PRO/1000 Network Driverauthor: Intel Corporationlicense: GPL v2depends: ptpvermagic: 6.1.0-18-amd64 SMP ...parm: debug:Debug level (0=none,...) (uint)parm zeigt verfügbare Parameter des Moduls — nützlich für /etc/modprobe.d/.
Module laden und entladen
Abschnitt betitelt „Module laden und entladen“sudo modprobe e1000e # Modul laden (inkl. Abhängigkeiten)sudo modprobe -r e1000e # Modul entladen (inkl. nicht mehr benötigter Abhängigkeiten)
sudo rmmod e1000e # direkt entladen (ohne Abhängigkeitsauflösung)Dauerhaft laden
Abschnitt betitelt „Dauerhaft laden“Module, die beim Systemstart geladen werden sollen, werden in /etc/modules-load.d/ konfiguriert:
# Eine Zeile pro Modul:br_netfilteroverlay# Sofort aktivieren (ohne Neustart):sudo modprobe br_netfilter# Beim nächsten Boot automatisch durch systemd-modules-load.serviceModul-Parameter
Abschnitt betitelt „Modul-Parameter“Parameter eines Moduls werden in /etc/modprobe.d/ gesetzt:
options iwlwifi power_save=0 11n_disable=1Parameter sofort wirksam machen:
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi power_save=0Aktuell gesetzte Parameter lesen:
cat /sys/module/iwlwifi/parameters/power_saveModule sperren (Blacklist)
Abschnitt betitelt „Module sperren (Blacklist)“Manchmal lädt der Kernel ein falsches Modul, oder ein Modul verursacht Probleme. Mit einer Blacklist wird es dauerhaft gesperrt:
blacklist nouveau # proprietären nvidia-Treiber stattdessen nutzenblacklist pcspkr # PC-Lautsprecher deaktivierenDamit udev das Modul trotzdem nicht lädt, zusätzlich:
install nouveau /bin/falseKernel-Konfiguration einsehen
Abschnitt betitelt „Kernel-Konfiguration einsehen“Jeder laufende Kernel hat eine Konfigurationsdatei, die zeigt, welche Features
eingebaut (Y), als Modul (M) oder deaktiviert (N) sind:
# Konfiguration des laufenden Kernelscat /boot/config-$(uname -r) | grep -i "CONFIG_E1000E"# CONFIG_E1000E=m ← als Modul verfügbar
zcat /proc/config.gz # alternativ (wenn Kernel dies unterstützt)Erklärung der Werte:
| Wert | Bedeutung |
|---|---|
=y | fest eingebaut (kein Modul, immer aktiv) |
=m | als ladbares Modul verfügbar |
# ... is not set | deaktiviert |
sysctl — Kernel-Parameter zur Laufzeit
Abschnitt betitelt „sysctl — Kernel-Parameter zur Laufzeit“sysctl ermöglicht es, Kernel-Parameter zur Laufzeit zu lesen und zu setzen.
Die Werte liegen unter /proc/sys/:
sysctl -a # alle Parameter anzeigensysctl net.ipv4.ip_forward # einzelnen Parameter lesensudo sysctl -w net.ipv4.ip_forward=1 # Parameter setzen (bis zum Neustart)Dauerhaft setzen in /etc/sysctl.d/:
net.ipv4.ip_forward = 1vm.swappiness = 10sudo sysctl --system # alle sysctl-Dateien neu einlesenHäufig genutzte Parameter:
| Parameter | Bedeutung |
|---|---|
net.ipv4.ip_forward | IP-Weiterleitung (für Router/VMs) |
vm.swappiness | Neigung des Kernels zur Swap-Nutzung (0–100) |
kernel.hostname | Hostname des Systems |
fs.inotify.max_user_watches | Max. Datei-Watches (z. B. für IDEs erhöhen) |