Software embebido - Qt cross compile setup scripts for Raspberry Pi 4 una captura de pantalla de un programa informático

Configuración de compilación cruzada de Qt

Scripts para Raspberry Pi 4

Requisitos previos

Hardware

Host [PC/portátil]: cualquier máquina x86/x86_64 AMD/Intel
Destino [Raspberry Pi 4]: Raspberry Pi 4

Software

Host: cualquier máquina Linux (Ubuntu 20.04 LTS probado)
Destino: sistema operativo Raspberry Pi 4 Linux 32-bit (Raspbian Bullseye Lite probado)

Nota

En el fondo se utilizan las cadenas de herramientas de compilación cruzada para Raspberry Pi de abhiTronix.

Otras cuestiones

Requisitos de almacenamiento y tiempo: el directorio de desarrollo ocupa aprox. 10 GB de espacio y tarda entre 2 y 5 horas en completarse (en función de las dependencias y las especificaciones del equipo host). Redes: tu equipo de destino (Raspberry Pi) y el equipo host (donde se realiza la compilación cruzada) DEBEN disponer de acceso a Internet y estar en la MISMA red para seguir estas instrucciones.

Pasos/ajustes para el equipo de destino (Raspberry Pi)

1. Empezar desde cero (opcional)

Importante

Si tienes una nueva Raspberry Pi o quieres empezar desde cero, sigue estos pasos. Por el contrario, si tu Raspberry Pi ya está configurada, en funcionamiento y con las redes a punto, ve al paso 2.

Nota

Esta sección asume que dispones de al menos 10 GB de tarjeta SD para instalar el sistema operativo Raspbian (Stretch/Buster/Bullseye) y un portátil/PC para cargarlo.

1.1. Descarga los software y prepara la tarjeta SD

  • Descarga la última versión de Raspbian (Bullseye) aquí para tu portátil/PC.
  • Necesitarás un escritor de imágenes para escribir el sistema operativo descargado en la tarjeta SD (tarjeta micro SD en nuestro caso). Puedes utilizar Balena Etcher.
  • Inserta la tarjeta SD en el portátil/PC y ejecuta el escritor de imágenes. Una vez abierto, selecciona el archivo de imagen Raspbian descargado. Selecciona el dispositivo correcto, es decir, la unidad que representa la tarjeta SD.

Nota

Si la unidad o dispositivo seleccionados son diferentes de la tarjeta SD, la otra unidad seleccionada se corromperá. ¡VE CON CUIDADO!

- Una vez completada la escritura, expulsa la tarjeta SD, insértala en la Raspberry Pi y enciéndela. Debería iniciarse. - Recuerda que después de arrancar la Pi, puede haber momentos en los que se te pregunten las credenciales de usuario, como el «nombre de usuario» y la contraseña. Raspberry Pi viene con el nombre de usuario predeterminado «pi» y la contraseña «raspberry», por lo que puedes usarlos cuando se te pidan.

1.2 Configurar la red

Ahora que tu Raspberry Pi se está ejecutando, es momento de conectarla a tu red de una de las siguientes formas:

2. Configurar SSH

  • Si tienes monitor: en el terminal de la Raspberry Pi, escribe: «sudo raspi-config» y aparecerá un menú. Para habilitar SSH, dirígete a «Opciones de interfaz» -> «SSH» -> «Sí» y haz clic en «Aceptar» para habilitarlo. Por último, selecciona «Finalizar» y sal.

  • Si no tienes monitor: después de configurar la red, si no tienes monitor o lo operas de forma remota, habilita SSH conectando tu tarjeta SD al ordenador y creando un archivo vacío llamado «ssh» en la ruta «/boot/partition» de la tarjeta SD. Ahora, vuelve a insertar la tarjeta SD en la Raspberry Pi.

3. Abre el terminal

  • Desde otro portátil/PC utilizando SSH: pra conectar tu Pi desde otro ordenador, copia y pega el siguiente comando en la ventana del terminal, pero reemplaza «192.160.1.47» por la dirección IP de la Raspberry Pi.
ssh pi@192.168.1.47 

Se te pedirá la contraseña. Si no se ha cambiado, será «raspberry» de forma predeterminada, así que puedes utilizarla cuando se te solicite.

Nota

Puedes configurar tu Raspberry Pi para poder acceder a ella desde otro ordenador sin necesidad de introducir una contraseña cada vez que te conectes. Obtendrás más información aquí.

4. Consigue scripts

Conéctate a tu Pi con ssh y descarga el archivo ZIP:

ssh pi@192.168.1.47

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

También puedes descargar el archivo ZIP a través del navegador desde aquí.

Haz que el script qt-cross-compile-script-pi4.sh sea ejecutable y ejecútalo:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh

Después de un tiempo, se instalan todos los paquetes necesarios, se crean los directorios necesarios y se configuran correctamente los enlaces simbólicos.

Importante

Recuerda que tu Raspberry Pi y este equipo host (donde se realiza la compilación) DEBEN estar en la MISMA red.

Pasos/ajustes para el equipo host (Linux Ubuntu)

Para las pruebas, utilizamos una máquina virtual (VMware) con una versión limpia de Ubuntu 20.04 LTS.

1. Descarga el archivo ZIP

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

También puedes descargar el archivo ZIP a través del navegador desde aquí.

2. Haz que el script qt-cross-compile-script-pi4.sh sea ejecutable y ejecútalo

chmod +x qt-cross-compile-script-host.sh

3. Cambia variables en el script

Debes cambiar la dirección IP (raspberry_ip) de tu Raspberry Pi en el script y si has cambiado el usuario (raspberry_user) y la contraseña (raspberry_pwd) de la raspberry.

nano qt-cross-compile-script-host.sh

4. Ejecuta el script

sudo ./qt-cross-compile-script-host.sh

El script realiza las siguientes acciones:

  • Instala todos los paquetes necesarios.
  • Crea directorios necesarios («~/rpi-qt»).
  • Descarga y extrae fuentes de Qt.
  • Parchea fuentes de Qt.
  • Descarga y extrae la herramienta para compilaciones cruzadas.
  • rsync archivos de Raspberry Pi.
  • Descarga SymLinker y configura enlaces simbólicos.
  • Configura la compilación de Qt.
  • Crea e instala la compilación de Qt.
  • rsync binarias de Qt para Raspberry.

Paso final para el equipo de destino (Raspberry Pi)

Actualiza el enlazador en Raspberry Pi

Introduce el siguiente comando para actualizar el dispositivo que permite al enlazador encontrar los nuevos archivos binarios de Qt:

echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig

Configura Qt Creator para la compilación cruzada

Lee el blog Configurar Qt Creator en Ubuntu 20 Lts para la compilación cruzada para incluir las binarias compiladas (archivo ~/rpi-qt/qt5.15) en Qt Creator.

Licencia de copyright

Copyright© 2022 Interelectronix e.K.
El código fuente de este Proyecto está autorizado en virtud de la licencia GPL-3.0.

Agradecimientos