Prepara la imagen de la pantalla de bienvenida
La pantalla de bienvenida se gestiona a través de una receta llamada «psplash» que se encuentra en el directorio «/workdir/poky-honister/meta-raspberrypi/recipes-core» del árbol de código.
Dado que «psplash» espera que una imagen esté en formato de archivo de encabezado, primero necesita convertir tu imagen en este tipo de archivo utilizando un script llamado «make-image-header.sh».
Clonar el repositorio psplash
Para conseguir el script, clona el repositorio psplah del Proyecto Yocto, en este caso, el directorio /workdir
git clone https://git.yoctoproject.org/psplash
En el directorio psplash encontrarás el script «make-image-header.sh».
Instalar la biblioteca
El script requiere que se instale «libgdk-pixbuf2.0-dev» en el sistema. Puedes hacerlo en una segunda ventana del terminal con:
docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit
Ahora puedes utilizar el script para convertir tu archivo PNG a .h-file
./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY
Como resultado, deberías obtener un archivo llamado «psplash-ixlogo-img.h». El encabezado tiene este aspecto:
/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
#define POKY_IMG_ROWSTRIDE (4080)
#define POKY_IMG_WIDTH (1020)
#define POKY_IMG_HEIGHT (768)
#define POKY_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \
...
Si quieres cambiar el color de fondo de la pantalla de bienvenida, puedes añadir la siguiente línea:
#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00
Con esto, el color de fondo pasa a ser verde.
Crea una capa meta personalizada
Para incluir la imagen de la pantalla de bienvenida que has creado, necesitamos una capa meta personalizada.
Primera fuente para rpi-build.
source poky-honister/oe-init-build-env rpi-build
Con «bitbake-layers» creamos una nueva capa meta y la añadimos a conf/bblayers.conf del proyecto actual.
bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi
Después, copia el director «psplash» de meta-raspberrypi/recipes-core a la nueva capa meta:
mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/
Copia psplash-ixlogo-img.h a meta-interelectronix-rpi/recipes-core/psplash/files/
cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/
Finalmente, edita «meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend» y cambia «psplash-raspberrypi-img.h» por «psplash-ixlogo-img.h».
Incluye psplash
En el último paso, debe añadirse el paquete psplash al archivo local.conf del proyecto. Para hacerlo, edita el archivo /workdir/rpi-build/conf/local.conf
Mi local.conf tiene este aspecto:
## systemd settings
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME:init_manager = "systemd"
VIRTUAL-RUNTIME:initscripts = ""
IMX_DEFAULT_DISTRO_FEATURES:append = " systemd"
## enable some hardware
ENABLE_I2C = "1"
ENABLE_UART = "1"
DISABLE_SPLASH = "1"
DISABLE_RPI_BOOT_LOGO = "1"
IMAGE_INSTALL:append = " psplash"
IMAGE_FEATURES += " splash "
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.