ZFS root wird beim booten nicht automatisch gemountet

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
king-crash
Beiträge: 756
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

ZFS root wird beim booten nicht automatisch gemountet

Beitrag von king-crash » 26.03.2025 09:42:54

Hallo,

ich habe ein ZFS sowohl als root, als auch als boot Dateisystem. Bis vor Kurzem lies sich das auch Problemlos automatisch booten. Seit neuestem bleibe ich aber im initramfs Prompt hängen. Ein manuelles "zpool import -R /root rootpool" und "exit" startet dann weiter durch, es wäre doch aber ganz nett wenn das automatisch geschehen würde.
Als Besonderheit habe ich ZFS fest in den Kernel einkompiliert (copy-builtin...) und verwende kein dkms. Dafür musste ich das deb Paket zfs-initramfs in der control Datei so verändern, dass es keine Abhängigkeiten zu zfs-dkms mehr hat. "sollte" ja aber keinen Unterschied machen :roll: ?
Mit welchem Mechanismus bzw Skript müsste das normalerweise automatisch im initramfs gemountet werden?

Grüße

Benutzeravatar
heisenberg
Beiträge: 4236
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS root wird beim booten nicht automatisch gemountet

Beitrag von heisenberg » 26.03.2025 14:19:56

Zeige mal die Ausgabe von ...

Code: Alles auswählen

zfs get canmount
Nur für den Fall, das automatischer mount vielleicht ausgeschaltet ist.

Zu den Kernelsachen kann ich nichts sagen. Ich habe immer nur mit DKMS gearbeitet.

Benutzeravatar
king-crash
Beiträge: 756
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS root wird beim booten nicht automatisch gemountet

Beitrag von king-crash » 26.03.2025 16:16:21

# cat /proc/cmdline
BOOT_IMAGE=/@/vmlinuz-6.12.12 root=ZFS=/ROOT/debian-1 ro amdgpu.ppfeaturemask=0xffffffff cgroup_enable=cpu cgroup_enable=cpuacct cgroup_enable=cpuset cgroup_enable=memory cgroup_enable=devices cgroup_enable=blkio amd_pstate=passive

# zfs get canmount
...
gigapool/ROOT/debian-1 canmount on default
...
Ich danke dir, du hast mich auf die richtige Spur gebracht, auch wenn canmount nicht das Problem ist.
In der root Option in der cmdline fehlt der Poolname.

Update:
Ist dir bekannt welches grub Skript die root Option generiert?

"/etc/grub.d/10_linux" erzeugt über "grub-probe" den EIntrag. Da ich ein Raid habe, stehen in der Variablen ${GRUB_DEVICE} zwei Devices. Was ein Problem sein könnte. Aber auch der folgende Aufruf funktioniert nicht:
# grub-probe --device /dev/nvme1n1p2 --target=fs_label
grub-probe: Fehler: Unbekanntes Dateisystem.
Update:
# grub-probe -vvvv --device /dev/nvme1n1p2 --target=fs_label 2>&1 | grep -i zfs
...
grub-core/fs/zfs/zfs.c:1138: feature missing in check_pool_label:com.klarasystems:vdev_zaps_v2
...
Erkennt grub-probe den Pool nicht, weil er unbekannte Features hat?

Benutzeravatar
heisenberg
Beiträge: 4236
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS root wird beim booten nicht automatisch gemountet

Beitrag von heisenberg » 26.03.2025 22:32:32

Vielleicht hilft das ja:

Debian Bookworm Root on ZFS
https://openzfs.github.io/openzfs-docs/ ... 20ZFS.html

schwedenmann
Beiträge: 5659
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: ZFS root wird beim booten nicht automatisch gemountet

Beitrag von schwedenmann » 27.03.2025 07:57:03

Hallo

Seit neuestem bleibe ich aber im initramfs Prompt hängen.

Kann es ev. an den initramfs-tools liegen, da gibt es nämlich einen bug in der Version 0.146 der das Booten un d das finden des rootfs unmöglich macht.


mfg
schwedenmann

Benutzeravatar
bluestar
Beiträge: 2436
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: ZFS root wird beim booten nicht automatisch gemountet

Beitrag von bluestar » 27.03.2025 12:53:02

king-crash hat geschrieben: ↑ zum Beitrag ↑
26.03.2025 16:16:21
# cat /proc/cmdline
BOOT_IMAGE=/@/vmlinuz-6.12.12 root=ZFS=/ROOT/debian-1 ro
und die Ausgabe von:
king-crash hat geschrieben: ↑ zum Beitrag ↑
26.03.2025 16:16:21
# zfs get canmount
gigapool/ROOT/debian-1 canmount on default
Lassen für mich den Schluss zu, dass du in einen bekannten Bug rennst. In der Angabe root= fehlt nämlich der Poolname, lösen kannst du es, wenn du in /etc/default/grub den Eintrag anpasst:

Code: Alles auswählen

GRUB_CMDLINE_LINUX="root=ZFS=gigapool/ROOT/debian-1 ....."

Benutzeravatar
king-crash
Beiträge: 756
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS root wird beim booten nicht automatisch gemountet

Beitrag von king-crash » 30.03.2025 00:20:54

Ja, mit manuell eingetragenem Poolnamen in der grub.cfg läuft der Bootvorgang automatisch. Dann ist wohl "grub-probe" der Schuldige.
Ich danke euch!

Antworten