Bem, além de executar de forma interativa, você pode tentar fsck -y
como minha resposta na outra pergunta :-P
Se você quiser dd
uma imagem no topo do rootfs, sua melhor aposta será fazer isso a partir do seu initramfs antes de montar o rootfs.
Você pode fazê-lo com o sistema inicializado para esse rootfs, mas essa é uma daquelas coisas em que o Unix dá a você a corda (com o loop já bem amarrado para você). O sistema de arquivos não vai gostar ("ei, eu esperava um inode lá, o que é esse lixo?"). Certifique-se de que seja verdadeiramente de leitura, por exemplo, sem replay de periódicos.
Se você evitar o acesso ao sistema de arquivos, provavelmente conseguirá se safar. Isso implica que sua imagem de origem não pode estar no rootfs. Isso seria uma péssima ideia.
Depois de executar o dd, shutdown -r now
não funcionará (nem muito mais, incluindo ls
e cat
). Em vez disso, sugiro que você use um watchdog (mesmo softdog) para forçar uma redefinição ou, como alternativa, use /proc/sysrq-trigger
- echo
normalmente é um shell embutido, portanto, você ainda deve ser capaz de executar echo
. / p>
Não sei o que você está fazendo, mas parece que você está criando algum tipo de appliance. Você deve considerar manter um rootfs somente leitura e usar uma sobreposição (montagens de união, aufs, etc.) para fazer suas alterações, de forma semelhante a como um livecd funciona. Ou, alternativamente, ter um backup ou rootfs somente de recuperação (semelhante a quantos telefones Android funcionam).