Embedded Software - Tilpasset splash skjermen Yocto en hvit lasting bar med svart tekst

Yocto Raspberry Pi

Egendefinert splash-skjerm med fremdriftslinje

Klargjør bildet på splash-skjermen

Splash-skjermen håndteres av en oppskrift kalt "psplash" som finnes under "/workdir/poky-honister/meta-raspberrypi/recipes-core" -mappen i kildetreet.

Siden "psplash" forventer at et bilde er i header-filformat, må du først konvertere bildet til et header-filformat ved å bruke et skript som heter "make-image-header.sh".

Klone psplash repository

For å hente skriptet, klone yoctoproject psplash repository, i dette tilfellet til mappen/workdir

git clone https://git.yoctoproject.org/psplash

I katalogen psplash finner du skriptet "make-image-header.sh".

Installer bibliotek

Skriptet trenger «libgdk-pixbuf2.0-dev» for å bli installert i systemet. Du kan gjøre dette i et annet terminalvindu med:

docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit

Nå kan du bruke skriptet til å konvertere png - filen til. h - fil

./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY

Som et resultat bør du få en fil med navnet "psplash-ixlogo-img.h". Toppteksten ser slik ut:

/* 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*) \
...

Hvis du vil endre bakgrunnsfargen på splash-skjermen, kan du legge til følgende linje:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Dette setter bakgrunnsfargen til grønn.

Opprett egendefinert metalag

For å inkludere det opprettede bildet på opptaksskjermen, trenger vi et egendefinert metalag.

Første kilde til rpi-build.

source poky-honister/oe-init-build-env rpi-build

Med "bitbake-layers" oppretter vi et nytt metalag og legger til dette metalaget i conf/bblayers.conf for gjeldende prosjekt.

bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi

Etter dette kopierer du katalogen "psplash" fra meta-raspberrypi/recipes-core til det nye metalaget:

mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/

Kopier psplash-ixlogo-img.h til meta-interelectronix-rpi/recipes-core/psplash/files/

cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/

Til slutt redigerer du "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" og endrer "psplash-raspberrypi-img.h" til "psplash-ixlogo-img.h".

Inkluder psplash

I det siste trinnet må psplash-pakken legges til i prosjektets local.conf-fil. For å gjøre dette, rediger filen /workdir/rpi-build/conf/local.conf

Min local.conf ser slik ut:

## 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 "

Opphavsrettslisens

Copyright © 2022 Interelectronix e.K.
Denne Project-kildekoden er lisensiert under GPL-3.0 -lisensen.