Muitos cartões SD são bastante frágeis. Eu tenho um pi há cerca de 2 anos e as principais falhas foram devido ao cartão sd sendo corrompido por um motivo ou outro.
Gostaria de saber se há algum desenvolvimento feito para "fortalecer" o cartão SD na inicialização. Lembro-me de ter algo assim em um projeto passado, em que o uboot escolheria entre 12 tarballs se algum deles tivesse uma soma de verificação crc32 inválida. Ele copiava novamente o validado para todos os outros que foram modificados após uma inicialização bem-sucedida.
Eu gostaria de usar meu pi na configuração "permanente" e seria ótimo se ele pudesse funcionar sem precisar atualizar novamente o cartão.
Existe algum desenvolvimento já feito dessa maneira? Embora a ideia geral seja bastante trivial, fazer com que o uboot funcione corretamente geralmente é um processo bastante doloroso que eu gostaria de evitar.
EDIT:
Após algumas investigações mais profundas, parece que o que eu estava imaginando talvez não fosse possível, ou possível de uma maneira que desse qualquer vantagem significativa. Aqui, o processo de inicialização é descrito . O código em que trabalhei estava sendo executado no primeiro nível de inicialização, já que minha placa possuía um flash programável para isso. Com o pi, isso é armazenado em uma ROM de fábrica. Todo o resto vem do cartão sd; portanto, se o cartão for danificado, o carregador de inicialização do segundo estágio terá tantas chances de ser destruído quanto qualquer outra partição.
Talvez seja possível abusar do carregador de inicialização da ROM para esse fim, mas é difícil dizer como. O código também parece proprietário.
Edição 2:
A explicação real do processo de inicialização está em conflito, dependendo das fontes. Vou tentar ler mais sobre isso