ZFS modules cannot be auto-loaded
ZFS‑DKMS – Schritt‑für‑Schritt‑Anleitung für Debian 13 (Trixie)
Diese Anleitung fasst alle notwendigen Schritte zusammen, um OpenZFS (≥ 2.3.x) als DKMS‑Modul auf einem Debian‑13‑System zu installieren, nach Kernel‑Updates erneut zu bauen und typische Fehler (fehlendes zfs.ko
, Secure‑Boot‑Probleme, fehlende Abhängigkeiten) zu beheben.
1 Voraussetzungen & Grundlagen
- Laufender Debian‑13‑Kernel (Beispiel:
6.12.33+deb13‑amd64
). - Root‑Zugriff (
sudo -i
oder direkt alsroot
). - Aktiver Netzwerkzugang zu
deb.debian.org
. - Optional (Secure Boot): Möglichkeit, Secure Boot im Firmware‑Setup zu deaktivieren oder eigene Module zu signieren.
2 Repositories einrichten
ZFS liegt im Zweig contrib
. Kontrolliere, dass contrib
in /etc/apt/sources.list
(oder den Dateien in /etc/apt/sources.list.d/
) vorhanden ist:
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
Anschließend:
apt update
3 Benötigte Pakete installieren
Installiere die Build‑Werkzeuge, DKMS, ZFS‑Pakete sowie die Header für den aktuell laufenden Kernel:
apt install build-essential dkms linux-headers-$(uname -r) \
zfs-dkms zfsutils-linux
linux-image-amd64
) verwendest, installiere zusätzlich linux-headers-amd64
, damit die Header bei jedem Kernel‑Upgrade automatisch mitinstalliert werden.4 DKMS‑Status prüfen
dkms status
Erwartete Ausgaben:
zfs/2.3.2, 6.12.33+deb13-amd64, x86_64: installed
→ Modul fertig gebaut.zfs/2.3.2, 6.12.33+deb13-amd64, x86_64: added
→ Quellcode registriert, aber noch nicht kompiliert.
5 Fehlende Module bauen und installieren
Falls das Modul den Status added hat, führe aus:
dkms autoinstall -k $(uname -r)
Die Ausgabe sollte mit DKMS: install completed.
enden. Bei Fehlern siehe /var/lib/dkms/zfs/<version>/build/make.log
.
6 Modul laden & ZFS‑Pool prüfen
modprobe zfs
zpool status -v
zpool status
deine Pools korrekt anzeigt, ist ZFS aktiv.7 Secure‑Boot‑Hinweis
Bei aktiviertem Secure Boot verweigert der Kernel unsignierte Module. Möglichkeiten:
- Secure Boot temporär im BIOS/UEFI deaktivieren.
- Eigenen MOK‑Schlüssel erzeugen, Modul signieren und via
mokutil --import
hinterlegen.
Nach der Signatur das Modul erneut laden:
modprobe zfs
8 Automatisierung für zukünftige Kernel‑Updates
- Header‑Metapakete installiert lassen (
linux-headers-amd64
), damit immer passende Header da sind. - Sicherstellen, dass der DKMS‑Autoinstaller aktiviert ist:
systemctl enable dkms-autoinstaller.service
- Nach jedem
apt full-upgrade
einmal überprüfen:dkms status
9 Problemlösung & häufige Stolperfallen
Problem | Abhilfe |
---|---|
Header fehlen (modprobe: FATAL: Module not found ) |
apt install linux-headers-$(uname -r) , dann dkms autoinstall |
DKMS‑Build schlägt fehl | apt install dwarves libelf-dev libssl-dev ; Log auswerten (/var/lib/dkms/.../make.log ) |
Secure Boot blockiert Modul | Module signieren oder Secure Boot deaktivieren |
Falsche/alte ZFS‑Version | Auf ≥ 2.3.x aktualisieren (apt full-upgrade ) |
10 Schnellreferenz (TL;DR)
# 1. Repos & Pakete
apt update && apt install build-essential dkms linux-headers-$(uname -r) zfs-dkms zfsutils-linux
# 2. Module bauen (falls nötig)
dkms autoinstall -k $(uname -r)
# 3. Modul laden & Pool prüfen
modprobe zfs
zpool status -v
No Comments