Estou tentando executar um comando ( cryptsetup
) em um sistema embarcado usando squashfs. Requer /run
, mas esse diretório não existe e não posso criá-lo, pois é somente leitura.
Eu tenho um roteador ASUS com asuswrt-merlin instalado ( linux-2.6
). Instalei o Entware para baixar o cryptsetup e estou tentando usá-lo para criptografar um disco rígido conectado:
$ cryptsetup --key-size 256 luksFormat /dev/sdb1
O que resulta em:
...
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.
Não vejo nada nas cryptsetup
páginas de manual do 's para forçar ou pular/alterar o diretório lockfile e, portanto, estou preso.
O guia que estou seguindo para configurar isso não menciona esse problema, mas está um pouco desatualizado.
Existe uma maneira de falsificar esse diretório ou algum argumento cryptsetup
que eu possa usar para ignorá-lo ou alguma outra opção?
Observe que /var/run
existe, mas como é um sistema de arquivos somente leitura, não posso fazer um link simbólico para ele. E como /run
não existe, não posso (tanto quanto sei) montar um tmpfs nele.
Você tem essa opção com
cryptsetup
, mas parece arriscado.A outra saída é
chroot
- e se o seu roteador tiver uma porta USB, você pode conectar uma unidade flash de 4 GB e talvez ter espaço suficiente para copiar tudo o quecryptsetup
quiser. Embora nesse ponto você possa apenas configurar um Debianchroot
nele e terá todas as ferramentas necessárias para fazer o que quiser (desde que mantenha o ambiente chroot atualizado).