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/psplashNella 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
exitOra puoi usare lo script per convertire il tuo file png in file .h
./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKYCome 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,0x00Imposta 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-buildCon "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-rpiDopo 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 * *.