Experimentos con el overclock de la Raspberry Pi

Imagen de resetreboot

Bueno, algo de contenido, a ver si mejoramos el SEO de la página...

Hace unos días conseguí una Raspberry Pi modelo B, con su cajita de plástico transparente. Cómo no, al poco de recibirla me puse a jugar con ella, y en el raspi-config, te permiten activar el overclock de entrada.

Como todos sabemos, la Raspberry funciona a una frecuencia de 700Mhz de fábrica. Es un ARM, con un sólo núcleo, así que su potencia en cuanto a mascar números no es ninguna proeza. Como me sentía aventurero, y mucha gente la ha puesto hasta un 1Ghz sin que aquello explote, decidí probar suerte. Además, para agradar a mi chica, le puse el XBMC, que le encanta ver sus series en la tele con un portátil enganchado al HDMI. Y si, en una silla al lado de la tele.

Hoy, al hacer una actualización del sistema y reiniciar, se me ha montado el sistema de ficheros en sólo lectura. Y no me funcionaban ninguna de las utilidades ni la mitad de los comandos. El sistema, se había corrompido.

Investigando, ya que la tarjeta es de las buenas (http://www.pccomponentes.com/sandisk_microsd_16gb_ultra_clase_10.html?gclid=CMCXqa39yrcCFXMPtAoddhYAtg) descubro que hay mucha gente que se le corrompe el sistema de ficheros, especialmente al reiniciar, si tienen algún tipo de overclock. Además de una breve charla con algún BOFH de Twitter investigando sobre el tema y unas cuantas búsquedas más por la red de redes me ha descubierto que, efectivamente, el reloj de la SD es programable, dependiente de la frecuencia del núcleo y que, además, existe una comunicación asíncrona entre RAM y el puerto de la SD. Más información aquí: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=29&t=26633 [ENG]

Por lo tanto, si vais a estar instalando paquetes, actualizando, o haciendo cualquier cosa que requiera escribir en la SD, posiblemente tengáis que o bien jugar con los parámetros que se describen en el foro que os he enlazado o bien renunciar al overclock, aunque, sinceramente, para ir a 700Mhz, el ARM se desenvuelve bien.

Por supuesto, como el señor El Autoestopista bien señala, escribir mucho en una tarjeta SD no es nunca una buena idea y que ningún overclock es gratis.

6 comments

4
Jun

OLA K ASE,
yo ya me he cargado dos SD utilizando Debian y XBian. Al final opté por OpenELEC ya que usa un sistema similar a los livecd:

- Lee la SD para cargar el kernel
- Carga el SO en RAM
- Lee algunos archivos de configuración también en la SD

A partir de ahí la SD sólo se usa para leer los archivos de configuración.

--

5
Jun

Imagen de resetreboot

A ver... si solo fuera a utilizarla para XBMC, pues si, pero quiero hacer otras cosillas con ella, y entonces, no puedo tirar de esa solución (en principio).

Miraré de engancharle un disco duro externo bueno y hacer montajes en él, creo que va a ser la solución.

5
Jun

Imagen de sbenejam

Después de pruebas y pruebas al final Openelec es la mejor solución como media center. Raspbian la he probado poco pero también va bastante fluida usandola por ssh y probando servicios, etc.

6
Jun

Yo de momento llevo usando raspbmc así como un mes y medio. Solamente la reinicio 1 vez cada semana y algunos de esos reinicios se instalan actualizaciones.

Raspbmc va fino fino :)

6
Jun

Imagen de elautoestopista

Yo tengo una configuración muy sencilla, una SD Clase 6 de 4Gb + HDD externo USB de 2Tb + Raspbian, compartiendo con SAMBA y Deluged.

La he hecho unas cuantas putadas como tirar del cable de corriente o cogerla con las manos mientras funcionaba, y sin problemas.

Ahora, el overclocking siempre es arriesgado, no solo por la CPU, sino por el resto de componentes (bus, I/O, etc.), que no necesariamente están preparados para trabajar a frecuencias mas altas, en un cacharro como la Raspi, que está ajustada al máximo.

Lista de Correo #BOFHers - http://www.freelists.org/list/bofhers
Síguenos también el Twitter, en el hastag #BOFHers (y derivados)
¡También tenemos un servidor IRC! irc.bofhers.com:6667 canal #BOFHers

22
Jul

Yo la tengo overclockeada a 1100/500/600 con Raspbian y tuve muchos problemas de corromper la SD pero solo cuando se actualizaba el kernel despues de un aptitude full-upgrade o con la actualización del firmware (rpi-update).
Evitando estas 2 cosas, o desactivando el overclocking cuando se va a reiniciar no volvi a tener ningun problema.

Como siempre lleva algun tiempo volver a flashear raspbian y hacer todo el setup desde 0, de tanto en tanto me hago un backup cutre con lo siguiente:
En la raspi primero hago:
# fstrim -v /
# shutdown -h now
(antes de arrancar el cable, esperar a q se apague n las luces de Lan y la verde arriba del Power parpadee 6 o 7 veces.)
Saco la SD, la meto en mi portatil y:
# dd if=/dev/mmcblk0 | gzip -c > ./raspi_{YYMMDD}.img
Para restaurar:
#gunzip -c ./raspi_{YYMMDD}.img.gz | dd of=/dev/mmcblk0

Lo del fstrim es bastante importante, porque envia un ERASE al controlador de la SD lo que significa que la proxima vez que se leen los bloques todo es 0s. Ideal para que el gzip comprima la imagen como es debido.

La unica pega es el tiempo, este sistema obliga a leer la SD entera y despues escribirla entera.