Linux: especifique o sistema de arquivos raiz com fallback

Linux: especifique o sistema de arquivos raiz com fallback

Eu sei que poderia usar o initrd/initramfs para fazer o que for necessário, mas gostaria de evitar essa opção, se possível.

Eu preciso ter um rootfs funcionando "normal" (em um cartão SD de um sistema embarcado, se for importante). Se, por qualquer motivo, a inicialização não for bem-sucedida (por exemplo: o kernel não consegue montar este sistema de forma limpa), ele deve tentar inicializar a partir de um rootfs de "recuperação" (SquashFS no Flash) que será responsável por restaurar o sistema de arquivos "normal" e reiniciar.

Algo assim está disponível sem recorrer ao initramfs?

A razão pela qual não quero o initrd/initramfs é devido às limitações no tamanho do Flash.

Responder1

Você pode usar o sistema de "recuperação" para a mesma finalidade do initramfs. É quase a mesma coisa.

É claro que ele não será carregado na RAM da mesma forma que um initramfs, mas essa é a única diferença, e ainda pode servir ao mesmo propósito - montar o rootfs real, verificar se parece correto, pivot_root nele e executar seu /sbin/init. Se a montagem falhar, ela executa a recuperação.

(E vice-versa, você pode remover o sistema de arquivos squashfs e simplesmente colocar todas as ferramentas de recuperação no initramfs – se o dispositivo tiver RAM suficiente para mantê-las.)

informação relacionada