Corruption du système de fichiers sur la carte SD


19

Si j'utilise un peu le Pi, la corruption du système de fichiers apparaît bientôt.

Par exemple, ce fichier a été changé en un autre:

$ ls -alt  /etc/apt/apt.conf.d
total 16
lrwxrwxrwx 1 root root   13 Oct  2 22:18 50raspi -> ../init.d/ntp

Ou /var/lib/dpkg/info/fake-hwclock.listest devenu un fichier binaire, ce qui signifie que dpkg ne peut plus fonctionner:

dpkg: unrecoverable fatal error, aborting:
 files list file for package 'fake-hwclock' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)

fscksur le système de fichiers trouve de nombreuses erreurs et envoie des dizaines de fichiers à lost+found:

Pass 1D: Reconciling multiply-claimed blocks
(There are 34 inodes containing multiply-claimed blocks.)

File /etc/fake-hwclock.data (inode #26, mod time Thu Aug 16 02:20:47 2012) 
  has 1 multiply-claimed block(s), shared with 1 file(s):
        ... (inode #30, mod time Thu Aug 16 02:20:47 2012)

...

Inode 30 ref count is 1, should be 3.  Fix? yes

dmesg affiche ce qui ressemble à des erreurs d'E / S:

[   49.082758] mmc0: final write to SD card still running
[   59.088233] mmc0: Timeout waiting for hardware interrupt - cmd12.
[   59.089411] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x900

J'ai essayé avec quatre cartes SD différentes, de SanDisk SDHC 16 Go et Duracell SDHC 16 Go. Donc, ça ne semble pas être la carte.

J'ai également essayé avec Raspbian 2012-08-16-wheezy et ArchLinux 13-06-2012. Les deux ont le même problème, donc je suppose que ce n'est pas un bogue dans le système d'exploitation.

Suivant les conseils de @gnibbler et @Avio, j'ai exécuté memtester (qui, contrairement à memtest86 sur le PC, fonctionne après le noyau et ne peut donc pas tester toute la RAM) et il n'a signalé aucun problème. "memtester 200 2" -> tout est OK

Suite à la discussion sur http://www.raspberrypi.org/phpBB3/viewtopic.php?f=29&t=6201&start=400 , j'ai essayé à partir d'une nouvelle image avec un config.txt écrit pour un peu d'overclocking:

core_freq 240
arm_freq 650
sdram_freq 350

mais cela a aggravé le problème (beaucoup de temps morts sur la carte)

Je n'ai qu'un seul Raspberry Pi donc je ne peux pas vérifier avec un autre. Problème connu? Matériel cassé?


Mesurez la tension d'alimentation - assurez-vous qu'elle est vraiment de 5 V et stable. Cela pourrait être causé par un bélier défectueux ou quelque chose. Pouvez-vous exécuter memtest dessus?
John La Rooy

Je n'ai pas de voltmètre pour le moment (je ne suis pas vraiment du matériel informatique). Après le clavier USB, le chargeur et le câble HDMI, ce petit Pi pas cher deviendra assez cher si je dois acheter un voltmètre.
bortzmeyer

Le message "Délai d'attente en attente d'une interruption matérielle" n'est-il pas une indication claire que quelque chose ne va pas avec le lecteur de carte SD?
bortzmeyer

Je ne trouve pas d'image avec memtest. Google ne m'aime pas ou je ne suis pas assez brillant pour ça. Un pointeur?
bortzmeyer

Merci beaucoup, @ oliver-salzbug, pour les modifications, et désolé pour la sortie mutilée que j'ai incluse.
bortzmeyer

Réponses:


5

Il sera peut-être trop tôt pour répondre à ma propre question mais, jusqu'à présent, l'option la plus réussie était:

over_voltage=2

Jusqu'à présent (c'est seulement quelques jours), cela semble mieux (pas de corruption ou de timeout de carte pour le moment).

Je ne suis pas un expert des problèmes d'alimentation, donc avant d'utiliser ceci sur votre propre Pi, veuillez faire quelques recherches.

Cela signifie-t-il que mon Pi a un problème de tension, comme suggéré par @gnibbler?


2
A accepté ma propre réponse car elle semble fonctionner et les autres suggestions ne l'ont pas fait.
bortzmeyer

1
Remplacez l'alimentation par une bonne qui charge les téléphones mobiles modernes et fournit un vrai 1A ou plus.
avra

2

Il y a de très bonnes chances que vous ayez un problème avec la RAM et, peut-être, vous ne rencontrez pas de gel du noyau parce que l'architecture du Raspberry Pi est en quelque sorte tolérante à un certain degré de corruption de mémoire .

La première chose à faire est de modifier la répartition de la mémoire, en réduisant la mémoire vidéo au minimum, pour maximiser la quantité de RAM disponible ( 240 Mo de RAM et 16 Mo de VRAM ). Je suggère de recommencer avec un nouveau raspbian, fraîchement copié dans le SD. Ensuite, vous pouvez installer et exécuter memtester.

sudo aptitude install memtester

Ici, il y a un petit tutoriel sur la façon de lancer memtester, et cela est la page de manuel. La ligne de commande devrait ressembler à ceci:

sudo memtester 200 2

200est la quantité de Mo à tester et 2le nombre de passes. N'oubliez pas que cette solution fonctionne uniquement dans userspace, donc la quantité de mémoire libre est inférieure à la quantité totale de mémoire disponible. Si vous voulez le nombre exact, tapez:

cat /proc/meminfo

Cependant, étant donné que le problème n'est pas dans vos cartes mémoire et que le Raspberry Pi est assez "monolithique", la seule option disponible sera probablement de retourner le Pi à votre revendeur.


J'ai toujours eu un partage de mémoire réglé sur 240/16 (j'utilise cette machine pour la surveillance du réseau, pas le media center).
bortzmeyer

1

C'est un long plan, mais à chaque fois que je lance rpi-updatepour mettre à jour le firmware, le système de fichiers est corrompu de telle sorte que je ne peux plus créer une image de la carte SD en utilisant dd (voir ma question ). J'ai d'abord remarqué en essayant de mettre à jour manuellement le firmware à installer ffmpeget tout à l'heure, quand omxplayer a essayé de mettre à jour le firmware.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.