Mi dispositivo Linux incorporado utiliza una tarjeta SD para guardar ciertos datos de diagnóstico, demasiado copiosos para flash interno.
El problema es que si el dispositivo se apaga inesperadamente, el sistema de archivos (FAT32) en la tarjeta está dañado.
No hay forma de evitar cortes de energía inesperados o que el usuario lo apague así, y el dispositivo debería estar relativamente libre de mantenimiento. Peor aún, los datos se escriben continuamente, por lo que las corrupciones son muy frecuentes, y Linux al detectar FS defectuoso los vuelve a montar en modo de solo lectura en silencio.
¿Qué métodos sugerirías para mitigar esto? ¿Será suficiente ejecutar fsck.vfat automáticamente en el inicio?
Alguna información más:
- La tarjeta no debe considerarse extraíble por el usuario. Debe considerarse como un disco interno. Todos los datos almacenados en él serán accesibles para su descarga a través de la red o en una unidad usb, y el sistema purgará automáticamente las entradas más antiguas. Eso significa que no necesita ser legible en su PC promedio.
- El sistema actualmente admite FAT, yaffs y jffs2. Es posible agregar otros sistemas de archivos al núcleo, pero si existen otras vías, las preferiríamos primero.
- La escritura puede suspenderse bajo demanda incluso durante varios minutos sin pérdida de datos.
- pérdida de datos parcial o corrupción menor es aceptable. La detención completa del registro no lo es.
- Los eventos de apagado son completamente impredecibles la mayor parte del tiempo.
- el sistema funciona con ARM9, 200MHZ, 64MB de RAM, 32MB de memoria flash interna y utiliza la mayor parte de la potencia de la CPU para su función principal. Tenga esto en cuenta al pensar en soluciones sofisticadas con muchos recursos.