Si uso el Pi un poco, la corrupción del sistema de archivos aparece pronto.
Por ejemplo, este archivo fue cambiado a otro:
$ ls -alt /etc/apt/apt.conf.d
total 16
lrwxrwxrwx 1 root root 13 Oct 2 22:18 50raspi -> ../init.d/ntp
O se /var/lib/dpkg/info/fake-hwclock.list
convirtió en un archivo binario, lo que significa que dpkg ya no puede funcionar:
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)
fsck
en el sistema de archivos encuentra muchos errores y envía docenas de archivos a
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
muestra lo que parecen errores de 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
Probé con cuatro tarjetas SD diferentes, de las marcas SanDisk SDHC 16 GB y Duracell SDHC 16 GB. Entonces, no parece ser la carta.
También probé con Raspbian 2012-08-16-wheezy y ArchLinux 13-06-2012. Ambos tienen el mismo problema, así que supongo que no es un error en el sistema operativo.
Siguiendo los consejos de @gnibbler y @Avio, ejecuté memtester (que, a diferencia de memtest86 en la PC, se ejecuta después del núcleo y, por lo tanto, no puede probar toda la RAM) y no informó ningún problema. "memtester 200 2" -> todo bien
Después de la discusión en http://www.raspberrypi.org/phpBB3/viewtopic.php?f=29&t=6201&start=400 , probé desde una nueva imagen con un config.txt escrito para un poco de overclocking:
core_freq 240
arm_freq 650
sdram_freq 350
pero empeoró el problema (muchos tiempos de espera en la tarjeta)
Solo tengo una Raspberry Pi, así que no puedo consultar con otra. Problema conocido? Hardware roto?
Respuestas:
Puede ser que pronto responda mi propia pregunta, pero, hasta ahora, la opción que tuvo más éxito fue:
Hasta ahora (son solo unos pocos días), parece mejor (sin corrupción ni tiempo de espera de la tarjeta todavía).
No soy un experto en problemas de energía, así que, antes de usar esto en su propio Pi, investigue un poco.
¿Significa que mi Pi tiene un problema de voltaje, como lo sugiere @gnibbler?
fuente
Existe una gran posibilidad de que tenga un problema con la RAM y, tal vez, no experimente congelaciones del kernel porque la arquitectura de la Raspberry Pi es de alguna manera tolerante a un cierto grado de corrupción de la memoria .
Lo primero que debe hacer es cambiar la división de memoria, reduciendo la memoria de video al mínimo, para maximizar la cantidad de RAM disponible ( 240 MB de RAM y 16 MB de VRAM ). Sugiero comenzar de nuevo con un nuevo
raspbian
, recién copiado en elSD
. Entonces puedes instalar y ejecutarmemtester
.Aquí hay un pequeño tutorial sobre cómo iniciar
memtester
, y esta es la página del manual. La línea de comando debería ser algo como:¿Dónde
200
está la cantidad de MB para probar y2
la cantidad de pases? Recuerde que esta solución funciona exclusivamenteuserspace
, por lo que la cantidad de memoria libre es menor que la cantidad de memoria total disponible. Si desea el número exacto, escriba:Sin embargo, dado que el problema no está en sus tarjetas de memoria y que la Raspberry Pi es bastante "monolítica", probablemente la única opción disponible será devolver la Pi a su distribuidor.
fuente
Esta es una posibilidad remota, pero cada vez que corro
rpi-update
para actualizar el firmware, el sistema de archivos se corrompe de alguna manera, de modo que ya no puedo crear una imagen de la tarjeta SD usando dd (vea mi pregunta ). Me di cuenta por primera vez al intentar actualizar manualmente el firmware para instalarffmpeg
y justo ahora cuando omxplayer intentó actualizar el firmware.fuente