パスワードで暗号化されたキーファイルを使用して、GPGで暗号化されたLUKSコンテナ内のLVM論理ボリュームにGentooをインストールしようとしています。起動を試みるまで、すべてが順調に進みます。私はカーネルとinitramfsを構築するためにgenkernelを使用しています:
genkernel --lvm --luks --install --menuconfig --busybox all
GRUB2を使用して起動します。そのため、カーネルの起動後にキーファイルが見つかったというメッセージが表示されますが、次の行で「LUKSデバイスを開けません...」というメッセージが表示され、カーネルパニックが発生します。解決策は何ですか?
カーネル構成 -http://pastebin.com/YR7TfaVm
GRUB2メニュー項目:
menuentry 'Gentoo'{
root='hd1,gpt1'
linux /kernel-genkernel-x86_64-3.17.7-gentoo initrd=/dev/ram0 crypt_root=/dev/disk/by-partuuid/PARTUUID_OF_LUKS_CONTAINTER_PARTION dolvm real_root=/dev/mapper/vg1-root rootfstype=ext4 real_init=/usr/lib/systemd/systemd root_keydev=/dev/disk/by-partuuid/PARTUUID_OF_MY_PENDRIVE_WITH_KEY root_key=luks-key.gpg
initrd /initramfs-genkernel-x86_64-3.17.7-gentoo
echo "initing..."
}
答え1
私の問題は、カーネルバージョンを3.10に変更し、gpgバージョンを以前のバージョンに変更した後に解決されました。これはpinentryなしで動作し、静的にコンパイルしました。新しいバージョンですべての内容を2回確認しましたが、pinentryには常に問題があるようです。また、genkernelはpinentryを自動的に含めないと思います。私はそれを直接含める必要がありました。
結論として:
- あなたのgpgバージョンにpinentryが必要であることを確認してください。 (私の場合は、initrdを作成するために以前のバージョンに戻しました。)
- より安定したカーネルバージョンを考えてみましょう。
- gpgを静的にコンパイルすることを検討してください。
- initrd の作成後、すべてのライブラリの依存関係を確認してください。でもgenkernelのようなものを使うなら