Prepara l'immagine della schermata iniziale
La schermata iniziale è gestita da una ricetta chiamata "psplash" che si trova nella directory "/workdir/poky-honister/meta-raspberrypi/recipes-core" dell'albero delle sorgenti.
Poiché "psplash" si aspetta che un'immagine sia in formato di file header, prima devi convertirla in un formato di file header usando uno script chiamato "make-image-header.sh".
Clona repository psplash
Per ottenere lo script, clona il repository psplash di yoctoproject, in questo caso nella directory/workdir
git clone https://git.yoctoproject.org/psplash
Nella directory psplash si trova lo script "make-image-header.sh".
Installa libreria
Lo script necessita di "libgdk-pixbuf2.0-dev" per essere installato nel sistema. È possibile eseguire questa operazione in una seconda finestra del terminale con:
docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit
Ora puoi usare lo script per convertire il tuo file png in file .h
./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY
Come risultato, dovresti ottenere un file chiamato "psplash-ixlogo-img.h". L'intestazione è simile alla seguente:
/* 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*) \
...
Se desideri modificare il colore di sfondo della schermata iniziale, è possibile aggiungere la seguente riga:
#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00
Imposta il colore di sfondo su verde.
Crea meta layer personalizzato
Per includere l'immagine della schermata iniziale creata, abbiamo bisogno di un meta layer personalizzato.
Prima sorgente per rpi-build.
source poky-honister/oe-init-build-env rpi-build
Con "bitbake-layers" creiamo un nuovo meta layer e aggiungiamo questo meta layer al file conf/bblayers.conf del progetto corrente.
bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi
Dopo questo, copia la directory "psplash" da meta-raspberrypi/recipes-core al nuovo meta-layer:
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 in meta-interelectronix-rpi/recipes-core/psplash/files/
cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/
Infine modifica "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" e modifica "psplash-raspberrypi-img.h" in "psplash-ixlogo-img.h".
Includi psplash
Nell'ultimo passaggio, il pacchetto psplash deve essere aggiunto al file local.conf del progetto. A tale scopo, modifica il file /workdir/rpi-build/conf/local.conf
Il file local.conf è simile a:
## 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 "
Licenza sul diritto d'autore
Copyright © 2022 Interelectronix e.K.
Questo codice sorgente del Progetto è concesso in licenza sotto la licenza **GPL-3.0 * *.