Embedded Software - Aangepast welkomstscherm Yocto een witte laadbalk met zwarte tekst

Yocto Raspberry Pi

Aangepast opstartscherm met voortgangsbalk

Voorbereiden image opstartscherm

Opstartscherm wordt behandeld door een recept genaamd "psplash" gevonden onder "/workdir/poky-honister/meta-raspberrypi/recipes-core"-directory van de bronstructuur.

Aangezien "psplash" verwacht dat een afbeelding het headerbestandsformaat heeft, moet u eerst uw afbeelding converteren naar een headerbestandsformaat met behulp van een script genaamd "make-image-header.sh".

Kloon psplash repository

Om het script te krijgen, kloont u de yoctoproject psplash repository - in dit geval naar de /workdir directory

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

In de psplash directory vindt u het script "make-image-header.sh".

Bibliotheek installeren

Het script heeft het nodig dat "libgdk-pixbuf2.0-dev" in het systeem geïnstalleerd wordt. U kunt dit doen in een tweede terminalvenster met:

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

Nu kunt u het script gebruiken om uw png-bestand naar .h-bestand te converteren

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

Als gevolg hiervan zou u een bestand moeten krijgen met de naam "psplash-ixlogo-img.h". De header ziet er als volgt uit:

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

Als u de achtergrondkleur van het opstartscherm wilt wijzigen, kunt u de volgende regel toevoegen:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Hiermee wordt de achtergrondkleur groen ingesteld.

Maak aangepaste meta-layer

Om de gemaakte opstartschermafbeelding toe te voegen, hebben we een aangepaste meta-layer nodig.

Eerste bron voor rpi-build.

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

Met "bitbake-layers" creëren we een nieuwe meta-layer en voegen deze meta-layer toe aan de conf/bblayers.conf van het huidige project.

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

Kopieer hierna de map "psplash" van meta-raspberrypi/recipes-core naar de nieuwe meta-layer:

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

Kopieer psplash-ixlogo-img.h naar meta-interelectronix-rpi/recipes-core/psplash/files/

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

Wijzig ten slotte "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" en verander "psplash-raspberrypi-img.h" in "psplash-ixlogo-img.h".

Inclusief psplash

In de laatste stap moet het psplash-pakket worden toegevoegd aan het local.conf-bestand van het project. Bewerk hiervoor het bestand /workdir/rpi-build/conf/local.conf

Mijn local.conf ziet er zo uit:

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

Auteursrechtlicentie

Copyright © 2022 Interelectronix e.K.
Deze broncode van het project is gelicentieerd onder de GPL-3.0 licentie.