Ordem de montagem incorreta com ZFS, sistemas de arquivos criptografados e Systemd

Ordem de montagem incorreta com ZFS, sistemas de arquivos criptografados e Systemd

Eu tenho uma instalação 'à prova de balas' do Arch Linux estruturada da seguinte forma:

  1. /dev/sda1: Partição FAT32 EFI: montada como /boot/efi
  2. /dev/sda2: Partição ext4 criptografada LUKS: montada como /boot (senha solicitada)
  3. /dev/sda3: Partição Swap criptografada
  4. /dev/sda4: zpool criptografado contendo sistema de arquivos raiz (senha solicitada)

O sistema inicializa e funciona, mas alguns recursos não funcionam corretamente. Na inicialização o systemd reclama de um erro no ciclo de carregamento, mas o verdadeiro problema é que tenho que inserir a senha /dev/sda2duas vezes (uma para GRUB e outra para Linux). eu useieste guiapara configurar um arquivo-chave para desbloquear /dev/sda2, mas sem dados, ele ainda pede uma senha.

Esta é a ordem dos ganchos no meu mkinitcpio.conf:

base udev autodetect modcont block keyboard zfs encrypt filesystems

Tentei reverter a ordem de zfse, encryptmas isso criou um problema diferente, onde ele não configurava minha partição swap (também pode ter bagunçado o GRUB [presumo que falhou ao montar /boot?], tive que reiniciar para o archiso para consertar). De qualquer forma, isso não resolveu meu problema, ainda tive que inserir a senha do/dev/sda2 duas vezes.

Meu crypttab:

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

Meus parâmetros do kernel em /etc/default/grub:

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

Meu 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

Ao inicializar, o sistema me pede a senha /dev/sda2antes de me pedir /dev/sda4(mesmo quando eu troquei a ordem do gancho mkinitcpio.conf).

Depois de fazer algumas pesquisas, parece que o problema é que o destino systemd do ZFS exige que as partições criptografadas sejam desbloqueadas antes de fazer qualquer coisa, mas não sei como consertar isso.

informação relacionada