Ось мій спосіб вирішення питання про debian, враховуючи помилку, на яку посилається @sebasth.
Моя установка трохи інша. У мене є зашифрований кореневий розділ та купа рейдових дисків. Для мене мені довелося додати параметр initramfs до криптовалюти:
<target> <source> <keyfile> <options>
part1_crypt /dev/disk/... crypt_disks plain,cipher=aes-xts-plain64,keyscript=decrypt_keyctl,initramfs
part2_crypt /dev/disk/... crypt_disks plain,cipher=aes-xts-plain64,keyscript=decrypt_keyctl,initramfs
Це повідомляє update-initramfs, що я хочу, щоб ці записи криптовалют були встановлені у програмі initramfs. Я перевірив свою криптовалюту бігом
cryptdisks_start part1_crypt
cryptdisks_start part2_crypt
Зауважте, що мої рейдові диски - це звичайний dm-склеп. Це означало, що я не можу використовувати метод лукса ключів, який працює навколо помилки системного ключа. Для простого dm-crypt я повинен був би зберігати парольну фразу в простому тексті.
Зашифровані диски повинні бути встановлені до update-initramfs
запуску; інакше це призведе до помилок. Мені довелося шукати наступні рядки, коли будувався мій initramfs:
update-initramfs -k -u -v | grep 'keyctl'
який показав два наступні файли:
/bin/keyctl
cryptkeyctl
додається до initramfs.
Нарешті, мені довелося вимкнути systemd обробку моєї криптовалюти, щоб мати справу з помилкою, на яку згадувалося вище: systemd не підтримує параметр keycript у crypttab. Для цього я додав варіант ядра
GRUB_CMDLINE_LINUX_DEFAULT="quiet luks.crypttab=no"
до / etc / default / grub та біг update-grub
. Тепер systemd ігнорує crypttab, і всі зашифровані розділи завантажуються в initramfs.
Оскільки у мене зашифрований корінний розділ, криптовалюта не схоже на кешування мого ключа. Це означає, що я повинен вводити свій пароль двічі; один для кореневого розділу та один раз для мого рейдового масиву.
expect
сценарій або подібний, який викликається для встановлення дисків, а не для того, щоб система це робила. Натомість система викликає скрипт, який запитає пароль, зберігає його та надає його до кожної операції монтування.