我正在尝试cryptsetup
使用 squashfs 在嵌入式系统上运行命令 ()。它需要/run
,但该目录不存在,我无法创建它,因为它是只读的。
我有一个安装了 asuswrt-merlin 的华硕路由器 ( linux-2.6
)。我已经安装了Entware来下载 cryptsetup,我正在尝试使用它来加密附加的硬盘:
$ cryptsetup --key-size 256 luksFormat /dev/sdb1
结果是:
...
Enter passphrase for /dev/sdb1:
Verify passphrase:
Locking aborted. The locking path /run/cryptsetup is unusable (not a directory or missing).
Failed to acquire device lock.
Cannot format device /dev/sdb1 in use.
我在cryptsetup
的手册页中看不到任何强制或跳过/更改锁定文件目录的内容,因此被卡住了。
我遵循的设置指南根本没有提到这个问题,但有点过时了。
有没有办法伪造这个目录,或者cryptsetup
我可以用来绕过它的一些参数,或者其他一些选项?
请注意,它/var/run
存在,但由于它是只读文件系统,我无法对其进行符号链接。而且由于/run
不存在,我不能(据我所知)安装 tmpfs 到它。
你有这个选项
cryptsetup
,但听起来很冒险。另一种方法是
chroot
- 如果您的路由器有一个 USB 端口,您可以连接一个 4GB 闪存驱动器,并且可能有足够的空间来复制所有cryptsetup
想要的东西。尽管那时您可能只是在其上设置了一个 Debianchroot
,然后您将拥有执行任何您想做的任何事情所需的所有工具(只要您保持 chroot 环境更新)。