Eu tenho um fstab
root-fs somente leitura e também um rw /var
montado em um leitor USB com um uSD nele.
Às vezes, no momento da inicialização, o sistema falha ao montar /var
. Parece que o sistema não consegue encontrar a partição no uSD. Meu melhor palpite é que o leitor USB pode estar falhando ou não sendo enumerado a tempo. Neste caso o sistema entra em modo de emergência. Se eu reiniciar, ele inicializará bem e /var
será montado corretamente.
Eu queria saber se existe uma maneira de forçar a reinicialização se algum dos pontos de montagem fstab
falhar na montagem, em vez de ir para o modo de emergência.
Procurei fstab
opções e systemd
opções de montagem, mas não consegui encontrar nada.
Aliás, eu não quero nós nofail
porque preciso /var
ser montado.
/etc/fstab
:
PARTUUID=00e91e3a-01 /boot vfat defaults,ro 0 2
PARTUUID=00e91e3a-02 / ext4 defaults,noatime,ro 0 1
PARTUUID=90ddf375-01 /var btrfs defaults,x-systemd.mount-timeout=30s,x-systemd.device-timeout=30s 0 0
O shell de emergência é iniciado pela
emergency.service
unidade. Se desejar um comportamento diferente, você pode substituir oExecStart
valor desta unidade colocando um arquivo de substituição no formato/etc/systemd/system/emergency.service.d
.Por exemplo, algo como:
(Estamos substituindo
ExecStartPre
aqui porque o comportamento padrão é esperar queplymouth
a interface do usuário de inicialização exista - mas se formos reinicializar, não há sentido em fazer isso, já que não interagiremos com ninguém no console .)Com base na resposta de @larsks, foi isso que funcionou: