Ini adalah solusi untuk debian, mengingat bug yang dirujuk di atas oleh @sebasth.
Setup saya sedikit berbeda. Saya memiliki partisi root terenkripsi dan banyak raid disk. Bagi saya, saya harus menambahkan opsi initramfs ke crypttab:
<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
Ini memberitahu pembaruan-initramfs bahwa saya ingin agar entri crypttab ini dipasang di initramfs. Saya memeriksa crypttab saya dengan menjalankan
cryptdisks_start part1_crypt
cryptdisks_start part2_crypt
Perhatikan bahwa disk raid saya adalah dm-crypt. Ini berarti bahwa saya tidak dapat menggunakan metode keyfile luks yang bekerja di sekitar bug keycript systemd. Untuk plain dm-crypt, saya harus menyimpan kata sandi dalam plaintext.
Disk terenkripsi harus dipasang sebelum update-initramfs
dijalankan; jika tidak maka akan terjadi kesalahan. Saya harus mencari baris berikut ketika initramf saya dibuat:
update-initramfs -k -u -v | grep 'keyctl'
yang menunjukkan dua file berikut:
/bin/keyctl
cryptkeyctl
ditambahkan ke initramfs.
Akhirnya, saya harus menonaktifkan systemd menangani crypttab saya, untuk menangani bug yang dirujuk di atas: systemd tidak mendukung opsi keyscript di crypttab. Untuk ini, saya menambahkan opsi kernel
GRUB_CMDLINE_LINUX_DEFAULT="quiet luks.crypttab=no"
ke / etc / default / grub dan berlari update-grub
. systemd sekarang mengabaikan crypttab, dan semua partisi terenkripsi dimuat di initramfs.
Karena saya memiliki partisi root terenkripsi, cryptroot tampaknya tidak men-cache kunci saya. Ini berarti saya harus memasukkan kata sandi saya dua kali; satu untuk partisi root dan sekali untuk array raid saya.
expect
skrip atau sejenisnya yang dipanggil untuk memasang disk alih-alih meminta sistem melakukannya. Sebagai gantinya, sistem akan memanggil skrip yang akan meminta kata sandi, menyimpannya, dan menyediakannya untuk setiap operasi pemasangan.