Configuración Hardware. El archivo script.bin

Configuración Hardware. El archivo script.bin

JoseR

Notas:

  • Para establecer las configuraciones del hardware presente en un dispositivo de Allwinner, como las Orange Pi, con Kernel 3.4.X, se utiliza un archivo denominado Script.bin, que se localiza en el sistema de arranque de las distribuciones.
  • Las modificaciones de este archivo permiten, entre otras cosas, modificar las frecuencias de CPU/GPU, habilitar/deshabilitar las salidas de audio y video (RCA o HDMI), configuraciones de los pines GPIO, etc.
  • Para distribuciones con Kernel Mainline 4.9.X o superior, se utiliza el método basado en arbol de dispositivos.
  • El Script.bin es un archivo binario y, por tanto, no es editable directamente.
  • El archivo Script.bin, se construye a partir de un archivo de texto plano (editable) con extensión .fex, el cual contiene, en forma de texto, todas las configuraciones Hardware correspondientes al sistema.
  • Alguna información sobre las configuraciones del archivo .fex puede encontrarse en la guía de configuraciones fex, que se localiza en: http://linux-sunxi.org/Fex_Guide
  • El archivo Script.bin se construye al desarrollar una distribución, por tanto, viene incluido en todas las distribuciones existentes.
  • El archivo Script.fex se convierte en Script.bin mediante la herramienta fex2bin y, del mismo modo, existe una herramienta inversa, que transforma el Script.bin en Script.fex, denominada bin2fex, ambas son proporcionadas por el grupo Linux-Sunxi y se encuentran disponibles en el paquete de herramientas sunxi-tools.
  • En principio, las sunxi-tools sólo están disponibles para sistemas Linux, y en la mayoría de distribuciones de Orange Pi, como Armbian, vienen instaladas por defecto, por ello, la modificación del script.bin sólo podía ser realizada mediante un PC con Linux o en la propia OPi. Actualmente esto ha cambiado, pues yo mismo me he molestado en portarlo a Windows, desarrollando un programa convertidor simple y visual (con entorno gráfico), para más información consulta: WinBinFex, modificando el script.bin desde Windows.
  • En la entrada actual, nos enfocaremos en el proceso de modificación del script.bin desde un sistema Linux, ya sea desde la propia distro de la OPi o desde un PC con Linux (en este último caso se necesitarán instalar las sunxi-tools, tal y como se muestra en el anexo).
  • Para modificar el Script.bin se procede a convertirlo en Script.fex, se edita y se reconvierte nuevamente en Script.bin.

Instrucciones:

1 - Creamos un archivo de backup por si cometemos algún error:

sudo cp /boot/script.bin /boot/script.bak

2 - Convertimos el archivo binario a formato fex de texto editable:

sudo bin2fex /boot/script.bin /boot/script.fex

3 - Editamos lo que necesitemos en el archivo fex:

sudo nano /boot/script.fex

4 - Cerrar el archivo, guardándolo con ese nombre:

Ctrl X, Y (Yes), Enter

5 - Convertimos el archivo fex editado al formato binario:

sudo fex2bin /boot/script.fex /boot/script.bin

6 - Reiniciamos el sistema para que tengan efecto los cambios:

sudo reboot

Anexo - Instalar las herramientas bin2fex y fex2bin:

En la mayoría de distribuciones vienen pre-instaladas las herramientas bin2fex y fex2bin, pero en caso de que no sea así (o queramos instalar las herramientas en otro sistema que no sea la Orange Pi), estas se encuentran en el paquete Sunxi-Tools; procedemos a instalarlo si no se encuentran en nuestro sistema.

1 - Descargamos el repositorio Sunxi-tools (herramientas para desarrolladores de SoCs Allwinners) y accedemos a él:

git clone https://github.com/linux-sunxi/sunxi-tools
cd sunxi-tools

2 - Compilamos las herramientas sunxi-tools:

make

3 - Creamos vínculos simbólicos en "/usr/bin" para que las herramientas puedan ser llamadas desde cualquier ubicación:

sudo ln -s bin2fex /usr/bin
sudo ln -s fex2bin /usr/bin

Report Page