Skip to main content

Buildroot para reTerminal

pir

Introducción

Buildroot es una herramienta fácil de usar que simplifica y automatiza el proceso de construir un sistema Linux completo para un sistema embebido, utilizando cross-compilación.

Para lograr esto, Buildroot puede generar una toolchain de cross-compilación, un root filesystem, una imagen de kernel Linux y un bootloader para tu dispositivo objetivo. Buildroot se puede usar para cualquiera de estas opciones de forma independiente (por ejemplo, puedes usar una toolchain de cross-compilación existente y compilar solo tu root filesystem con Buildroot).

Tiene una estructura simple que facilita su comprensión y extensión, basándose únicamente en el lenguaje Makefile. Buildroot es un proyecto de código abierto y muchos desarrolladores contribuyen a él diariamente.

Siguiendo la guía a continuación, podrás compilar tu propia imagen de sistema para reTerminal utilizando Buildroot. ¡Empecemos!

Compilar el código fuente de Buildroot

Compilación manual en la máquina local

Ahora pasaremos a compilar manualmente la imagen de sistema para reTerminal usando Buildroot.

Nota: Esta guía se elaboró tras probar en un PC host con Ubuntu 20.04. Sin embargo, funcionará en otros sistemas Linux.

  • Paso 1. Prepara el entorno de desarrollo en el PC host instalando los siguientes paquetes (git, gcc, make):
sudo apt update
sudo apt install git
sudo apt install build-essential

Nota: Si ya tienes los paquetes anteriores, puedes omitir.

  • Paso 2. Clona el siguiente repositorio de GitHub:
git clone --depth=1 https://github.com/Seeed-Studio/seeed-linux-buildroot.git -b master
  • Paso 3. Accede al directorio seeed-linux-buildroot:
cd seeed-linux-buildroot

Compilar con la configuración por defecto para reTerminal

Ejecuta:

make reTerminal_64_defconfig
make

Compilar con configuración propia para reTerminal

Instala el paquete necesario para configuración manual:

sudo apt install libncurses-dev
  • Paso 5. Teclea:
make menuconfig

pir

Puedes navegar por las opciones y personalizar la imagen según tus necesidades. Si haces Save y Exit sin cambiar nada, se cargará la configuración por defecto de reTerminal.

Encontrar la imagen compilada

Una vez la compilación sea exitosa, en seeed-linux-buildroot/output/images encontrarás la imagen compilada como sdcard.img.

pir

Descargar imagen compilada

Si deseas descargar una imagen de reTerminal ya compilada con Buildroot, sigue:

  • Paso 1. Abre este enlace para entrar a Actions del repositorio seeed-linux-buildroot.

  • Paso 2. Haz clic en el workflow más reciente Seeed reTerminal buildroot.

pir

  • Paso 3. Bajo Artifacts, haz clic en buildroot deploy para descargar la imagen.

pir

Nota: Tras descargar la imagen, extráela para obtener el archivo sdcard.img.

Flashear la imagen al reTerminal

Ahora flashearemos la imagen a la eMMC del CM4 en el reTerminal.

Sigue los pasos de esta wiki y presta atención a:

Nota: Al abrir Raspberry Pi Imager, haz clic en CHOOSE OS, selecciona Use custom y elige el archivo sdcard.img descargado.

pir

Primer arranque en reTerminal

Tras flashear la imagen al reTerminal, enciende el reTerminal. Verás el kernel log en la LCD y finalmente se abrirá una demo hecha con Qt.

El tiempo de arranque de la imagen por defecto es ~30 segundos.

pir

Analizar la imagen de Buildroot

Como se mencionó, Buildroot es muy poderoso, puede depender de librerías y herramientas de terceros para compilar rápidamente lo necesario. Para entender el tiempo de compilación, dependencias, tamaño de recursos y más, Buildroot ofrece herramientas de análisis visual con unos pocos comandos.

Instala:

sudo apt install python3-matplotlib python3-numpy

Generar diagramas de dependencias

Uno de los trabajos de Buildroot es entender las dependencias entre paquetes y asegurarse de compilar en el orden correcto. A veces, estas dependencias pueden ser complejas. Buildroot puede generar diagramas de dependencias (PDF) para ayudar a entender y verificar.

  • Paso 1. Instala:
sudo apt install graphviz
  • Paso 2. Genera diagramas:
make graph-depends

pir

Tras eso, se generarán en seeed-linux-buildroot/output/graphs:

  • graph-depends.pdf
  • graph-depends.dot

Nota: Haz clic en la imagen para verla ampliada.

Generar análisis de tamaño de recursos en la compilación

Buildroot puede generar un análisis del tamaño de recursos consumidos.

Teclea:

make graph-size

Tras ello, se generan en seeed-linux-buildroot/output/graphs:

  • graph-size.pdf
  • file-size-stats.csv
  • package-size-stats.csv

Nota: Haz clic en la imagen para ampliarla.

Probar la imagen Buildroot

Para probar la imagen Buildroot en reTerminal, visita la wiki reTerminal Hardware and Interfaces Usage y sigue los pasos.

Recursos

Soporte técnico y debate de productos

¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte distintos tipos de soporte y asegurarnos de que tu experiencia sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diversas preferencias y necesidades.

Loading Comments...