fsck na partição raiz na placa personalizada baseada em BBB

fsck na partição raiz na placa personalizada baseada em BBB

Temos placa Linux embarcada personalizada baseada em BeagleBone Black. Possui Linux-3.12, 256 MB de RAM e 4 GB eMMC com ext4sistema de arquivos.

Às vezes nos deparamos com erros no sistema de arquivos (raros, mas não impossíveis). Portanto, queremos verificar os erros do sistema de arquivos e corrigi-los na inicialização.
Obviamente não queremos que o fsck ou qualquer outro utilitário destrua quaisquer dados no sistema de arquivos.

Temos o busybox baseado, SysVinitentão /forcefscknão funciona :( Então usei /etc/fstab(definindo o 5º campo como 1) e depois executei fsck -pa partir do rcSscript.

Esta combinação funciona para partições diferentes da rootfspartição. Eu tenho algumas perguntas sobre isso.

  1. Existe alguma maneira de executar fsckna rootfspartição?
  2. Pode fsck -pdestruir dados na partição?
  3. Existe alguma maneira melhor de lidar com essa situação, quero dizer, qualquer serviço que verifique e corrija erros do sistema de arquivos?

Responder1

A maneira normal para distribuições Linux de desktop baseadas em SysVinit é solicitar uma senha de root durante a inicialização quando detecta erros no sistema de arquivos raiz. Você pode então usar isso para executar fsckno root fs. Não sei se a sua distribuição incorporada faz isso, mas é definitivamente possível configurá-la dessa forma.

Se não houver erros detectados durante a inicialização, outra opção é fazer o login como root, parar tudo o que não é realmente necessário, remontar o sistema de arquivos raiz somente leitura e então executar o fsck nele.

Trata-se do sistema de arquivos raiz do seu armazenamento em bloco, nãorootfs. Rootfs é um sistema de arquivos mínimo baseado em RAM usado durante a inicialização e não pode estar corrompido (a menos que a imagem do kernel de inicialização esteja corrompida ou a RAM esteja ruim).

Em princípio, fsck -po objetivo é fazer apenas reparos "seguros", mas se você realmente quiser ter certeza de que nada de ruim acontecerá, execute-o manualmente para ser avisado sobre cada ação. Se por algum motivo houver dados valiosos no sistema de arquivos raiz (não deveria acontecer, mas talvez aconteça), faça um backup usando ddprimeiro.

informação relacionada