我正在init
为 Linux 的 C++ 中的 initramfs 工作。此脚本用于解锁带有 LUKS 加密驱动器的 DM-Crypt,并将 LVM 驱动器设置为可用。
因为我不想重新实现它的功能,cryptsetup
所以gpg
我正在使用系统调用来调用可执行文件。如果我已经完全启动了系统,则使用系统调用来调用 gpg 可以正常工作(我已经有一个基于 bash 脚本的 initramfs 可以正常启动它,并且我使用 grub 编辑命令行以使用旧的initramfs)。然而,在 initramfs 中,它甚至从来没有像被调用过一样。甚至像system("echo BLAH");
失败这样的命令。
那么,有人有意见吗?
编辑:所以我弄清楚是什么导致了我的错误。我不知道为什么会导致错误,但我找到了。
为了允许热插拔,我需要写信/sbin/mdev
给/proc/sys/kernel/hotplug
...但是我最终切换了参数(在我自己写的函数上)所以我写信/proc/sys/kernel/hotplug
给/sbin/mdev
.
我不知道为什么会导致问题,但是确实如此。