Inbäddad programvara - Anpassad välkomstskärm Yocto en vit laddningsfält med svart text

Yocto Raspberry Pi

Anpassad startskärm med förloppsindikator

Förbereda bild för startskärm

Startskärmen hanteras av en regeluppsättning som kallas "psplash", som finns under "/workdir/poky-honister/meta-raspberrypi/recipes-core"-katalogen i källträdet.

Eftersom "psplash" förväntar sig att en bild ska vara i header-filformat, måste du först konvertera din bild till ett header-filformat med hjälp av ett skript som heter "make-image-header.sh".

Klona psplash-datakatalog

För att hämta skriptet ska du klona yoctoprojects psplash-datakatalog – i detta fall till /workdir-katalogen

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

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

Installera bibliotek

Skriptet behöver "libgdk-pixbuf2.0-dev" för att installeras i systemet. Du kan göra detta i ett andra terminalfönster med:

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

Nu kan du använda skriptet för att konvertera din png-fil till en .h-fil

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

Som ett resultat bör du få en fil som heter "psplash-ixlogo-img.h". Din header ser ut som:

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

Om du vill ändra bakgrundsfärgen på startskärmen kan du lägga till följande rad:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Detta ställer in bakgrundsfärgen till en grön färg.

Skapa anpassat metalager

För att inkludera den skapade bilden på startskärmen behöver vi ett anpassat metalager.

Första källa för rpi-build.

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

Med "bitbake-layers" skapar vi ett nytt metalager och lägger till detta metalager i conf/bblayers.conf för det aktuella projektet.

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

Efter detta kopierar du katalogen "psplash" från meta-raspberrypi/recipes-core till det nya metalagret:

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

Kopiera psplash-ixlogo-img.h till meta-interelectronix-rpi/recipes-core/psplash/files/

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

Redigera slutligen "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" och ändra "psplash-raspberrypi-img.h" till "psplash-ixlogo-img.h".

Inkludera psplash

I det sista steget måste paketet psplash läggas till i projektets local.conf-fil. För att göra detta redigerar du filen /workdir/rpi-build/conf/local.conf

Min local.conf ser ut som:

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

Upphovsrättslicens

Copyright © 2022 Interelectronix e.K.
Detta projekts källkod är licensierad under licensen GPL-3.0.