Récemment, nous avons eu une situation plutôt déplaisante avec notre client - le "kiosque" basé sur Raspberry Pi utilisé pour afficher des données de télédétection (rien de plus qu'un navigateur en mode kiosque affichant une page Web à mise à jour automatique à partir du serveur de collecte de données) n'a pas pu démarrer en raison de corruption de système de fichiers. Ext4, manuel fsck requis, le système fera partie de la présentation importante de demain, service requis immédiatement. Bien entendu, nous ne pouvons pas demander au client d’arrêter le système correctement lorsqu’il est éteint pour la nuit; le système doit simplement résister à de tels mauvais traitements.
J'aimerais éviter de telles situations à l'avenir et j'aimerais déplacer le système d'exploitation vers un système de fichiers qui empêcherait cela. Il existe de nombreux systèmes de fichiers destinés aux périphériques MTD, pour lesquels leur exécution sur carte SD (un périphérique en mode bloc standard) nécessite de sérieux sauts de cercle. Il existe également d'autres systèmes de fichiers (journalisation, etc.) qui offrent une bonne résistance à la corruption. J'ai encore besoin de voir une comparaison raisonnable de leurs avantages et inconvénients.
Le système de fichiers disponible sous Linux offrirait la meilleure résistance contre la corruption en cas de coupure de courant imprévue et ne nécessiterait pas de sauter par- dessus des obstacles impossibles comme yaffs2 pour pouvoir l'installer en SD.
L'équilibrage de l'usure est un avantage, mais pas une exigence - les cartes SD ont généralement leurs propres mécanismes, même s'ils ne sont pas parfaits, bien que le système devrait être «doux pour le flash» (des systèmes comme NTFS peuvent tuer une carte SD en un mois).