Falsche Mount-Reihenfolge mit ZFS, verschlüsselten Dateisystemen und Systemd

Falsche Mount-Reihenfolge mit ZFS, verschlüsselten Dateisystemen und Systemd

Ich habe eine „kugelsichere“ Installation von Arch Linux, die wie folgt strukturiert ist:

  1. /dev/sda1: FAT32 EFI-Partition: gemountet als /boot/efi
  2. /dev/sda2: Mit LUKS verschlüsselte ext4-Partition: als /boot gemountet (Passwort abfragen)
  3. /dev/sda3: Verschlüsselte Swap-Partition
  4. /dev/sda4: verschlüsselter Z-Pool, der das Root-Dateisystem enthält (Passwortabfrage)

Das System bootet und funktioniert, aber einige Funktionen funktionieren nicht richtig. Beim Booten beschwert sich systemd über einen Ladezyklusfehler, aber das eigentliche Problem ist, dass ich das Passwort zweimal eingeben muss /dev/sda2(einmal für GRUB und einmal für Linux). Ich habedieser Leitfadenum eine Schlüsseldatei zum Entsperren einzurichten /dev/sda2, aber nichts da, es wird trotzdem nach einem Passwort gefragt.

Dies ist die Hook-Reihenfolge in meinem mkinitcpio.conf:

base udev autodetect modcont block keyboard zfs encrypt filesystems

Ich habe versucht, die Reihenfolge von zfsund umzukehren encrypt, aber das hat ein anderes Problem verursacht, da meine Swap-Partition nicht eingerichtet wurde (es könnte auch GRUB durcheinandergebracht haben [ich nehme an, es konnte /boot nicht gemountet werden?], ich musste zum Archiso neu starten, um es zu beheben). Es hat mein Problem trotzdem nicht behoben, ich musste das Passwort von /dev/sda2 trotzdem zweimal eingeben.

Mein crypttab:

cswap /dev/sda3 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256

Meine Kernel-Parameter in /etc/default/grub:

GRUB_CMDLINE_LINUX="zfs=zroot/ROOT/default rw cryptdevice=/dev/sda2:cboot"

Mein fstab:

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/cboot
/dev/mapper/cboot       /boot           ext4            rw,relatime     0 2

# /dev/sda1
UUID=CE42-9249          /boot/efi       vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=re
mount-ro        0 2

# /dev/mapper/cswap
/dev/mapper/cswap       none            swap            defaults        0 0

Beim Booten fragt mich das System nach dem Kennwort für , /dev/sda2bevor es nach 's fragt /dev/sda4(selbst wenn ich die Hook-Reihenfolge in vertauscht habe mkinitcpio.conf).

Nach einigen Recherchen scheint das Problem darin zu liegen, dass das systemd-Ziel von ZFS erfordert, dass die verschlüsselten Partitionen entsperrt werden, bevor es etwas unternimmt. Ich weiß jedoch nicht, wie ich das beheben kann.

verwandte Informationen