Muchas tarjetas SD son bastante frágiles. He tenido un pi durante aproximadamente 2 años y las principales fallas se debieron a que la tarjeta SD se corrompió por una razón u otra.
Me pregunto si se ha realizado algún desarrollo para "fortalecer" la tarjeta SD en el arranque. Recuerdo haber tenido algo como esto en un proyecto anterior, donde uboot elegiría entre 12 tarballs si alguno de ellos tuviera una suma de verificación crc32 no válida. Luego volvería a copiar el validado a todos los demás que se modificaron después de un arranque exitoso.
Me gustaría usar mi pi en una configuración "permanente" y sería genial si pudiera funcionar sin volver a flashear la tarjeta.
¿Hay algún desarrollo ya hecho de esta manera? Si bien la idea general es bastante trivial, hacer que uboot funcione correctamente suele ser un proceso bastante doloroso que me gustaría evitar.
EDITAR:
Después de una excavación más profunda, parece que lo que estaba imaginando podría no ser posible, o posible de una manera que ofreciera alguna ventaja significativa. Aquí se describe el proceso de arranque . El código en el que trabajé se estaba ejecutando en el primer nivel de arranque ya que mi placa tenía un flash programable para esto. Con el pi, esto se almacena en una ROM de fábrica. Todo lo demás proviene de la tarjeta SD, por lo que si la tarjeta se daña, el gestor de arranque de la segunda etapa tiene tantas posibilidades de ser destruido como cualquier otra partición.
Tal vez sea posible abusar del cargador de arranque ROM para este propósito, pero es difícil decir cómo. El código también parece patentado.
Edición 2:
La explicación real del proceso de arranque está en conflicto dependiendo de las fuentes. Trataré de leer más sobre eso.