Na inicialização, você deve verificar seus sistemas de arquivos para ver se o sistema foi desligado corretamente ou se ele travou e executar as ações de recuperação necessárias no último caso. Em sistemas de arquivos modernos, isso geralmente significa uma operação simples e rápida de recuperação de diário que pode ser feita automaticamente.
A verificação e montagem do sistema de arquivos raiz é normalmente feita pelo initramfs / initrd, mas em um sistema embarcado você pode ou não tê-lo.
Se você não estiver usando o initramfs, então a maneira tradicional seria que o kernel sempre montasse o sistema de arquivos raiz inicialmente como somente leitura (com opções de inicialização root=/dev/<whatever> ro
e a inicialização primeiro, os scripts executariam fsck
(assumindo que é necessário para o tipo de sistema de arquivos usado) e então remontaria o sistema de arquivos raiz para o modo leitura / gravação antes de fazer qualquer outra coisa.
Se o initramfs não verificou o sistema de arquivos raiz (talvez porque não está sendo usado), então o nome padrão do serviço systemd para executar uma verificação do sistema de arquivos no sistema de arquivos raiz é denominado systemd-fsck-root.service
. Eu não consegui descobrir o nome do serviço responsável por remontar o sistema de arquivos raiz com o systemd depois que ele foi verificado.
Se uma checagem do sistema de arquivos raiz de boot precisar modificar o sistema de arquivos raiz, ele geralmente aciona outra reinicialização, porque a modificação pode ter afetado algo que o kernel já leu e está fazendo cache, e agora seria inconsistente após uma correção. feita no disco por fsck
.