Saltearse al contenido

Configuración del device tree en RK3588

Última actualización: 2024-03-13

La siguiente guía o receta requiere acceso a la shell de tu instalación de FydeOS, por lo tanto se asume que el modo desarrollador está habilitado. Si es necesario modificar archivos del sistema, también tendrás que desactivar la verificación del sistema de archivos raíz.

Introducción

El SOC RK3588 admite la carga, durante el inicio, tanto de los archivos integrados de device tree overlay de FydeOS como de archivos dtbo definidos por el usuario.

Importancia de cargar device tree overlays

La carga de device tree overlays mejora principalmente la flexibilidad de la configuración del hardware, reduce los costes de mantenimiento del sistema y facilita la personalización de las configuraciones de hardware por parte del usuario. También simplifica la solución de problemas y la depuración.

Al aprovechar los device tree overlays, los usuarios pueden configurar el hardware para que se adapte a sus necesidades sin modificar el código del kernel. Este enfoque también simplifica el proceso de identificar y resolver posibles problemas. Por ejemplo, los usuarios pueden habilitar o deshabilitar periféricos específicos, como ventiladores PWM o dispositivos I2C, según los requisitos de su proyecto.

Requisitos previos

Para continuar, debes entender los conceptos básicos de los device tree overlays y las operaciones básicas de línea de comandos de Linux.

Procedimiento paso a paso

Paso 1: Inicia sesión en tu cuenta de FydeOS y entra en el escritorio

Paso 2: Entra en el entorno de shell Bash

Para personalizar la carga de device tree overlays, inicia sesión en cualquier cuenta de FydeOS y entra en el escritorio. Accede a los privilegios de administrador navegando por crosh (Control + Alt + T) o tty y escribiendo sudo su.

Nota: a partir de FydeOS v17 y openFyde r114, sudo su dejará de funcionar. Usa sudo -i en su lugar. Este cambio no afecta a las versiones anteriores.

Paso 3: Ver los device tree overlays integrados

Los device tree overlays integrados se encuentran en el directorio /boot/rockchip/overlay/. Después de introducir el comando ls /boot/rockchip/overlay/*dtbo, verás la lista de archivos, como se muestra a continuación (usando rock5b-fydeos como ejemplo):

Ventana de terminal
localhost ~ # ls /boot/rockchip/overlay/
pwm-fan.dtbo rk3588-i2c8-m4.dtbo rk3588-pwm15-m0.dtbo rk3588-pwm6-m2.dtbo rk3588-spi1-m1-cs1-spidev.dtbo rk3588-uart7-m1.dtbo rock-5b-hdmi2-8k.dtbo
rk3588-add-hdptxphy_hdmi_clk.dtbo rk3588-pwm12-m0.dtbo rk3588-pwm15-m1.dtbo rk3588-pwm7-m3.dtbo rk3588-uart2-m0.dtbo rk3588-uart7-m2.dtbo rock-5b-radxa-display-10fhd.dtbo
rk3588-i2c0-m1.dtbo rk3588-pwm13-m0.dtbo rk3588-pwm15-m3.dtbo rk3588-pwm8-m0.dtbo rk3588-uart2-m2.dtbo rk3588-unlock-opps.dtbo rock-5b-sata.dtbo
rk3588-i2c1-m0.dtbo rk3588-pwm13-m2.dtbo rk3588-pwm2-m1.dtbo rk3588-spi0-m2-cs0-spidev.dtbo rk3588-uart3-m1.dtbo rock-5a-radxa-display-10fhd.dtbo
rk3588-i2c3-m1.dtbo rk3588-pwm14-m0.dtbo rk3588-pwm3-m1.dtbo rk3588-spi0-m2-cs1-spidev.dtbo rk3588-uart4-m2.dtbo rock-5ab-camera-imx415.dtbo
rk3588-i2c7-m3.dtbo rk3588-pwm14-m1.dtbo rk3588-pwm5-m2.dtbo rk3588-spi1-m1-cs0-spidev.dtbo rk3588-uart7-m1-ctsn-rtsn.dtbo rock-5b-hdmi1-8k.dtbo

Paso 4: Cargar los device tree overlays integrados

FydeOS para la serie SOC RK3588, igual que uEnv.txt de Armbian, admite Env.txt, ubicado en /mnt/stateful_partition/fyde/Env.txt. Para quienes lo usan por primera vez, puede que necesites crear manualmente el directorio /mnt/stateful_partition/fyde/ y el archivo /mnt/stateful_partition/fyde/Env.txt. Aquí tienes un ejemplo usando el overlay de control de ventilador pwm-fan de rock5b:

  • Para el primer uso, crea la carpeta fyde

    Ventana de terminal
    mkdir -p /mnt/stateful_partition/fyde/
  • Usa nano/vim para editar el archivo Env.txt, añade el nombre del archivo dtbo a overlays=, separa varios overlays con un espacio

    Ventana de terminal
    overlays=pwm-fan
  • Guarda los cambios

Paso 5: Reiniciar el sistema

Después de realizar los cambios, reinicia el sistema para aplicarlos.

Paso 6: Añadir archivos personalizados de device tree overlays

FydeOS requiere que los device tree overlays definidos por el usuario, o archivos .dtbo, se coloquen en la carpeta /mnt/stateful_partition/fyde/user_overlay/. Si es tu primera vez y la carpeta no existe, créala. Luego, copia los archivos .dtbo relevantes a esta carpeta.

Paso 7: Cargar archivos personalizados de device tree overlays

Cargar device tree overlays personalizados es similar a cargar los integrados. Debes modificar el archivo /mnt/stateful_partition/fyde/Env.txt.

Usa nano/vim para editar el archivo Env.txt, añade el nombre del archivo dtbo a user_overlays=, separa varios overlays con un espacio

user_overlays=foo bar

Paso 8: Reiniciar el sistema

Reinicia el sistema para aplicar los cambios.

Solución de problemas

  1. Los overlays o user_overlays definidos para cargar el overlay no funcionan.

Comprueba que el uso de mayúsculas y minúsculas en el archivo Env.txt sea correcto y separa varios overlays con un espacio en blanco en inglés. Para los overlays personalizados, asegúrate de que los archivos dtbo en /mnt/stateful_partition/fyde/overlay sean válidos.

  1. ¿Por qué cambiar overlays o user_overlays hizo que el sistema no arrancara?

Antes de hacer cambios, asegúrate de que el overlay que vas a cargar haya sido verificado; de lo contrario, puede hacer que el sistema no arranque. Si esto ocurre, puedes deshacer los cambios montando manualmente el archivo /fyde/Env.txt correspondiente a la primera partición del disco del sistema.