完全に暗号化されたシステム debootstrap chroot の Initramfs

完全に暗号化されたシステム debootstrap chroot の Initramfs

私は仕事をしています。debootstrapで完全に暗号化されたクリーンアップ可能なシステムを生成するスクリプト。いくつかの利点がありますが、initramfs出てくる画像はパスワードのルートを正しく取得できません。 qemuでイメージを起動したら、busyboxシェルに入り、次を使用してluks暗号化を手動でロック解除する必要がありますcryptsetup

cryptsetup luksOpen /dev/sda1 system
/scripts/local-premount/flashback
exit

(フラッシュバックは、起動するたびに変更を忘れるようにbtrfsスナップショット魔法を実行します)

その後qemuで正常にブートが続いて良いイメージを構築できましたinitramfs。私はそれをbtrfs @root.baseサブボリュームにコピーし、それからすべてが大丈夫でした。

chroot環境でcryptsetup / cryptroot部分が選択されていない理由を特定するのに役立ちますupdate-initramfs

echo "CRYPTSETUP=y" >> /usr/share/initramfs-tools/conf-hooks.d/cryptsetup
echo "export CRYPTSETUP=y" >> /usr/share/initramfs-tools/conf-hooks.d/cryptsetup
update-initramfs -ut

私はたくさん試してみて、素晴らしいfstabとcrypttabを書いて、 grub.cfgで明示的にcryptdeviceを設定してみました。特定のバージョンについてはスクリプトを参照してください。

fstabとcrypttabを生成する方法は次のとおりです。

export partuuid=$(blkid $partition | sed -re 's/.*: UUID="([^"]+)".*/\1/')
export decruuid=$(blkid /dev/mapper/$decrypted | sed -re 's/.*: UUID="([^"]+)".*/\1/')
echo "Adding flashback with uuid $partuuid"
echo "system UUID=$partuuid none luks" >> "$rootmount/etc/crypttab"
echo "UUID=$decruuid / btrfs [email protected] 0 0" >> "$rootmount/etc/fstab"
echo "UUID=$decruuid /home btrfs subvol=@home 0 0" >> "$rootmount/etc/fstab"

原則として、問題は次のとおりです。暗号化削除されたDebian chrootはありますか?

非常にありがとう

ベストアンサー1

/etc/initramfs-tools/conf.d/cryptsetupストレッチには使用しないことをお勧めします。

新しく好む方法は"CRYPTSETUP=y"で設定することです/etc/cryptsetup-initramfs/conf-hook

Buster以降では、initramfs-cryptsetupパッケージがインストールされている場合、デフォルトの動作はinitramfsでcryptsetupを構成しているように見えるため、この構成パラメーターは重複しているようです。

おすすめ記事