在 Fedora 上使用 dracut 将 dropbear 添加到 initramfs

bri*_*rns 6 initramfs

我想dropbear添加到我的initramfs这样我就可以解锁通过远程SSH会话加密的磁盘(如描述在这里)。我正在运行 Fedora 16,它显然使用 dracut 来生成 initramfs 映像。谁能解释(或提供链接)如何使用此设置将 dropbear 添加到 initramfs?

更新:

我一直在尝试了解有关 dracut 的更多信息,但我发现那里没有大量信息。这是我目前的理解,如果有人可以对此发表评论:

  • 我需要创建一个新的 dracut 模块,它将预安装挂钩安装到 initramfs 映像中。
  • 在尝试解锁/挂载 LUKS 文件系统(这可能发生在“挂载”阶段)之前,预挂载钩子将启动 dropbear 服务器。
  • 随着 dropbear 启动,我应该能够通过 SSH 连接到服务器并提供密码来解锁它,如另一篇文章中所述。
  • 我还需要添加一个 pre-pivot 钩子,它将在引导过程 chroot 到最终根分区之前停止 dropbear 服务器。

bri*_*rns 0

我能够拼凑出自己的 dracut 模块,将 dropbear 添加到 initramfs 并在 init 期间启动它。它还将 dracut-crypt 模块中的 cryptroot-ask 脚本(要求您提供 LUKS 密码)替换为自定义脚本,该脚本等待您自行解锁文件系统(例如,通过 SSH)(以及一点额外的诡计)。

如果有人想使用或改进它,我已将其放在bitbucket上。目前它不会在启动后关闭 dropbear 服务器,因此这可能是可以改进的地方。