
У меня «пуленепробиваемая» установка Arch Linux, которая структурирована следующим образом:
/dev/sda1
: Раздел FAT32 EFI: смонтирован как /boot/efi/dev/sda2
: Зашифрованный раздел LUKS ext4: смонтирован как /boot (запросить пароль)/dev/sda3
: Зашифрованный раздел подкачки/dev/sda4
: зашифрованный zpool, содержащий корневую файловую систему (запрос пароля)
Система загружается и функционирует, но некоторые функции не работают должным образом. При загрузке systemd жалуется на ошибку цикла загрузки, но настоящая проблема в том, что мне приходится вводить пароль /dev/sda2
дважды (один раз для GRUB и один раз для Linux). Я использовалэто руководствочтобы настроить файл-ключ для разблокировки /dev/sda2
, но безуспешно, он все равно запрашивает пароль.
Вот порядок крючков в моем случае mkinitcpio.conf
:
base udev autodetect modcont block keyboard zfs encrypt filesystems
Я попробовал поменять порядок zfs
и , encrypt
но это создало другую проблему, когда он не настраивал мой раздел подкачки (он также мог испортить GRUB [я предполагаю, что он не смог смонтировать /boot?], мне пришлось перезагрузиться в archiso, чтобы исправить это). Это в любом случае не решило мою проблему, мне все равно пришлось дважды вводить пароль /dev/sda2.
Мой crypttab
:
cswap /dev/sda3 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
Мои параметры ядра в /etc/default/grub
:
GRUB_CMDLINE_LINUX="zfs=zroot/ROOT/default rw cryptdevice=/dev/sda2:cboot"
Мой 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
При загрузке система запрашивает у меня пароль до /dev/sda2
того, как она спросит у меня /dev/sda4
«s» (даже когда я поменял порядок хуков в mkinitcpio.conf
).
После некоторых исследований выяснилось, что проблема в том, что systemd target ZFS требует разблокировки зашифрованных разделов, прежде чем что-либо делать, однако я не знаю, как это исправить.