Overclocking Raspberry PI with KaliLinux


Raspberry Pi (RPi) tiene un chip ARM a 700 Mhz por defecto, pero puede funcionar a 1000Mhz sin miedo a perder la garantía, para ello es necesario configurar la raspberry en "modo turbo", aunque se tiene que tener en cuenta que la raspberry reducirá su ciclo de vida. En este artículo voy a tratar de realizar un overclocking desde Kalilinux con y sin berryboot instalado en la tarjeta SD.

CONFIG.TXT EN BERRYBOOT

Se puede hacer modificando el archivo config.txt de Berryboot, bien desde la tarjeta SD directamente, o con acceso remoto por VNC, modificando el archivo de configuración.

Para ello se accede remotamente mediante el TightVNC (siempre en los primeros segundo de encender la RPi), se para el arranque del sistema operativo, y se accede al menú de configuración de BerryBoot, en dicho menú se puede editar el archivo config.txt tal y como aparece en la siguiente imagen:


Pero si lo que tienes es instalado una distribución única en la tarjeta SD, deberemos realizar la configuración de overclocking mediante el script rasp-config o modificación del fichero manualmente. A continuación se ven ambas opciones:

  RASP-CONFIG SCRIPT

Sin embargo, si no quieres complicarte demasiado la mejor forma es utilizando el script "rasp-config" para debían que funciona a la perfección en KaliLinux. Para instalarlo es tan sencillo como:

# git clone https://github.com/asb/raspi-config
Se creará una carpeta rasp-config en tu directorio (local /root) y solo falta darle permisos de ejecución (chmod +x rasp-config)


Ahora simplemente ejecutamos el script:

# ./rasp-config

Recomiendan no utilizar el modo turbo para evitar restar "tiempo de vida" así como algunos problemas detectados con tarjetas SD clase 10.

En mi caso, he probado la instalación del script en KaliLinux ARM para raspberry Pi descargado desde GITHUB no me ha funcionado del todo correctamente, por lo que os dejo la forma de instalar el paquete debian de raspbian en KaliLinux:


wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20130525_all.deb
wget http://http.us.debian.org/debian/pool/main/l/lua5.1/lua5.1_5.1.5-4_armel.deb
wget http://http.us.debian.org/debian/pool/main/t/triggerhappy/triggerhappy_0.3.4-2_armel.deb
dpkg -i triggerhappy_0.3.4-2_armel.deb
dpkg -i lua5.1_5.1.5-4_armel.deb
dpkg -i raspi-config_20130525_all.deb

Para la ultima versión del paquete debian buscar en el repositorio:  http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/

Sin embargo, a pesar de instalar el paquete debian y conseguir que funcione correctamente, el overclocking no se realiza (not working) - buscando he encontrado información de como realizar la modificación manualmente del fichero config.txt en KaliLinux:


MODIFICACIÓN MANUAL DEL CONFIG.TXT

En mi caso KaliLinux, realizaremos la modificación remotamente a través de SSH, una vez conectados, procedemos a modificar el archivo de configuración config.txt.

# sudo nano /boot/config.txt
arm_freq=800
sdram_freq=500
Y puesto que hay veces que no funciona, debido a una cuestión de correcta sincronización de archivos en linux entre las particiones (solución vista en este blog), se debe de realizar de la siguiente forma (se puede obviar el comando sudo si estamos utilizando el usario root):

# sudo sync
# sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
# sudo cp config.txt config.txt.save
# sudo cp config.txt config.txt.save.1
# sudo sync; sync; exit; exit
!!! No funciona !!!


Según parece, la versión generada por Offensive Security para ARM tiene dos particiones diferenciadas: /dev/mmcblk0p1 (boot partition), and /dev/mmcblk0p2 (normal file system). Si nos damos cuenta, en el sistema de fichero (/dev/mmcblk0p2) existe el directorio /boot/ pero no es el correcto. Para solucionar el problema debemos de realizar lo siguiente:

1
2
3
4
mkdir /bios
mount /dev/mmcblk0p1 /bios/
nano /bios/config.txt
umount /bios

Para evitar colisión de nombre en Linux, el autor de la solución utilizar bios (puede ser cualquier otro nombre) para indicar que en dicho directorio es donde se va a proceder a montar el sistema de arranque de la KaliLinux (partición /boot/) y es donde se podrá copiar nuestro archivo config.txt para configurar la raspberryPi durante el arranque.

Copy of my config.txt < Turbo Mode

gpu_mem_256=112
gpu_mem_512=368
cma_lwm=16
cma_hwm=32
cma_offline_start=16

arm_freq=1000
core_freq=500
sdram_freq=600
over_voltage=6
force_turbo=1

Copy of my config.txt < Medium

gpu_mem_256=112
gpu_mem_512=368
cma_lwm=16
cma_hwm=32
cma_offline_start=16

arm_freq=900
core_freq=450
sdram_freq=500

# Disable dynamic clocking
force_turbo=1

Nota: Cuando se realiza el overclocking se debe de asegurar la compatibilidad de la tarjeta SD con raspberryPi.

COMPROBACIÓN DE LA CONFIGURACIÓN

Comprobación de la frecuencia de CPU a la que se encuentra nuestro chip ARM.

cat /proc/cpuinfo

Para confirmar la frecuencia, lo mejor es comprobarlo con este comando:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
Por ultimo se puede instalar en KaliLinux el comando vcgencmd de gran utilidad para comprobar que la configuración ha sido aplicada correctamente:


1
2
3
4
5
6
wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/libraspberrypi-bin_1.20140530-1_armel.deb
wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/libraspberrypi0_1.20140530-1_armel.deb
wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-bootloader_1.20140530-1_armel.deb
dpkg -i raspberrypi-bootloader_1.20140530-1_armel.deb
dpkg -i libraspberrypi0_1.20140530-1_armel.deb
dpkg -i libraspberrypi-bin_1.20140530-1_armel.deb

(Comprobar la ultima versión disponible en http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/)

No esta incluido por defecto en KaliLinux por lo que de nuevo recurrimos a paquetes "debian" para instalar la herramienta y asegurarnos que la configuración "BIOS" de nuestra raspberryPi se efectúa adecuadamente.

vcgencmd get_config arm_freq
Ver más opciones:

vcgencmd get_config int

Eso ha sido todo por el momento, volveremos con más y mejor ·raspberryPi·

#ST2Labs
www.st2labs.com

Referencias:
[1] http://www.jeremymorgan.com/tutorials/raspberry-pi/how-to-overclock-raspberry-pi/
[2] http://bahansen.info/the-attack/preparing/
[3] http://rageweb.info/2013/03/21/raspi-config-in-kali/
[4] http://rageweb.info/2013/11/07/bootconfig-txt-in-kali/
[5] http://rageweb.info/2013/11/07/vcgencmd-on-kali/
[6] http://elinux.org/RPiconfig
[7] http://elinux.org/RPi_SD_cards

0 comentarios:

Publicar un comentario