Skip to main content

ZFS modules cannot be auto-loaded

ZFS‑ZFS-DKMS – Schritt‑für‑Schritt‑Schritt-für-Schritt-Anleitung für Debian 13 (Trixie)

Diese Anleitung fasst alledie notwendigen Schritte zusammen, um OpenZFS (≥ 2.3.x) als DKMS‑DKMS-Modul auf einemDebian Debian‑13‑System13 zu installieren, nach Kernel‑Kernel-Updates erneutneu zu bauen und typische Fehler (fehlendes zfs.ko, Secure‑Boot‑Probleme,DKMS-Build-Fehler, fehlende Abhängigkeiten)Secure-Boot) zu beheben.


0  Wichtig: Kernel-/ZFS-Kompatibilität

Wenn du einen Kernel verwendest, der deutlich neuer ist als der Debian-Standardkernel, kann zfs-dkms aus stable schlicht zu alt sein und der Build scheitert.

    Debian-Standard (empfohlen): Nutze linux-image-amd64 + linux-headers-amd64. Damit passt in der Regel zfs-dkms aus stable. Neuer Kernel (z.B. 6.17.x): Nutze zfs-dkms aus trixie-backports (neuere OpenZFS-Versionen enthalten die nötigen Kernel-Anpassungen).

    1  Voraussetzungen & Grundlagen

    • Laufender Debian‑13‑Kernel (Beispiel: 6.12.33+deb13‑amd64).
    Root‑Root-Zugriff (sudo -i oder direkt als root). Aktiver Netzwerkzugang zu deb.debian.org.Debian-Repos. Optional (Secure Boot):: Möglichkeit, Secure Boot im Firmware‑Setup zu deaktivieren oder eigene Module zumüssen signieren.signiert sein, sonst werden sie geblockt.

    2  Repositories einrichten

    ZFS liegt im Zweigin contrib. Kontrolliere,Stelle sicher, dass contrib in(und ggf. /etc/apt/sources.listnon-free (oder den Dateien in, /etc/apt/sources.list.d/non-free-firmware) vorhandenaktiv ist:ist.

    deb http:https://deb.debian.org/debian trixie main contrib non-free non-free-firmware
    deb http:https://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
    deb http:https://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware

    Optional (nur wenn du einen neueren Kernel fährst oder neuere ZFS-Version brauchst): Backports aktivieren:

    deb https://deb.debian.org/debian trixie-backports 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:Basis:

    apt install build-essential dkms linux-headers-$(uname -r) zfs-dkms zfsutils-linux

    Empfohlen für Kernel-Updates: Metapakete, damit Kernel & Header zusammen laufen:

    apt install linux-image-amd64 linux-headers-amd64

    Wenn DKMS über "pahole not found" stolpert: (kommt vor, leider)

    apt install dwarves
    Hinweis: FallsWenn du einennicht generischenden MetakernelDebian-Kernel nutzt (linux-image-amd64) verwendest, installiere zusätzlich linux-headers-amd64Custom/extern), damitmüssen die Headerpassenden beiHeader/Build-Links jedemexistieren: Kernel‑Upgrade/lib/modules/$(uname automatisch-r)/build mitinstalliertund werden./lib/modules/$(uname -r)/source.

    4  DKMS‑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  FehlendeZFS-Modul bauen & installieren (gezielt)

      Wenn du dkms autoinstall nutzt, baut DKMS alle Module bauen(z.B. auch NVIDIA) und installierendu

      Fallsbekommst am Ende nur "alles kaputt". Für ZFS ist es oft besser, gezielt das ZFS-Modul denzu Status added hat, führe aus:bauen:

      ZFS_VER="$(dpkg-query -W -f='${Version}\n' zfs-dkms autoinstall| sed 's/-.*//')"
      dkms install -m zfs -v "$ZFS_VER" -k "$(uname -r)"

      DieWenn Ausgabedas solltefehlschlägt: mitLog DKMS: install completed. enden. Bei Fehlern sieheansehen: /var/lib/dkms/zfs/<version>/build/make.log.


      6  Modul laden & ZFS‑PoolZFS prüfen

      modprobe zfs
      zpool status -v
      Wenn zpool status deine Pools korrekt anzeigt, ist ZFS aktiv.

      7  Secure‑Boot‑Spezialfall: Neuer Kernel (z.B. 6.17.x) – ZFS aus Backports

      Wenn dein Kernel deutlich neuer ist als der Debian-Standardkernel, aktualisiere ZFS über Backports:

      apt install -t trixie-backports zfs-dkms zfsutils-linux

      Danach das ZFS-DKMS-Modul wie oben gezielt installieren (Abschnitt 5).


      8  Secure-Boot-Hinweis

      Bei aktiviertem Secure Boot verweigert der Kernelwerden unsignierte Module.Module Möglichkeiten:nicht geladen. Typische Fehlermeldungen sind z.B. Required key not available oder Key was rejected.

        • Secure Boot temporär im BIOS/UEFI deaktivieren.deaktivieren, oder
        • Eigenen MOK‑MOK-Schlüssel erzeugen, Modul signierenimportieren und viaenrollen (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...), damitdann immerbeim passendenächsten HeaderBoot da sind.bestätigen. 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

          ProblemSymptom AbhilfeTypische Ursache
          Fix Header fehlen (modprobe: FATAL: Module zfs not found) DKMS-Build ist fehlgeschlagen, Modul wurde nie gebaut/installed aptdkms installstatus linux-headers-$(uname -r),prüfen, dann Log dkms autoinstall/var/lib/dkms/zfs/.../make.log DKMS‑BuildDKMS schlägtbricht fehlmit pahole: not found ab dwarves fehlt apt install dwarves libelf-dev libssl-dev;LogDKMS-Build auswertenbricht bei neuem Kernel (API-Fehler) ab ZFS-Version zu alt für den Kernel ZFS aus /var/lib/dkms/.../make.logtrixie-backports) installieren oder auf Debian-Standardkernel wechseln Secure Boot blockiert Modul ModuleModul signierennicht signiert / MOK nicht enrolled MOK enrollen oder Secure Boot deaktivieren Falsche/alte ZFS‑Version Auf ≥ 2.3.x aktualisieren (apt full-upgrade)

          10  Schnellreferenz (TL;DR)

          # 1. Repos &ok? Pakete(contrib aktiv) + update
          apt update
          
          &&# Basis
          apt install build-essential dkms linux-headers-$(uname -r) zfs-dkms zfsutils-linux
          
          # 2.Optional: Module bauen (falls nötig)"pahole not found"
          apt install dwarves
          
          # ZFS gezielt bauen/installen
          ZFS_VER="$(dpkg-query -W -f='${Version}\n' zfs-dkms | sed 's/-.*//')"
          dkms autoinstallinstall -m zfs -v "$ZFS_VER" -k "$(uname -r)"
          
          # 3. Modul ladenLaden & Pool prüfen
          modprobe zfs
          zpool status -v