Vorbereiten des Begrüßungsbildschirmbilds
Der Begrüßungsbildschirm wird von einem Rezept namens "psplash" verwaltet, das im Verzeichnis "/workdir/poky-honister/meta-raspberrypi/recipes-core" des Quelltextverzeichnis zu finden ist.
Da "psplash" erwartet, dass ein Bild im Header-Dateiformat vorliegt, müssen Sie zuerst Ihr Bild in ein Header-Dateiformat konvertieren, indem Sie ein Skript namens "make-image-header.sh" verwenden.
psplash-Repository klonen
Um das Skript zu erhalten, klonen Sie das "yoctoproject psplash"-Repository – in diesem Fall in das Verzeichnis /workdir
git clone https://git.yoctoproject.org/psplash
Im Verzeichnis psplash finden Sie das Skript "make-image-header.sh".
Bibliothek installieren
Das Skript benötigt "libgdk-pixbuf2.0-dev", um im System installiert zu werden. Sie können dies in einem zweiten Terminalfenster tun, mit:
docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit
Jetzt können Sie das Skript verwenden, um Ihre PNG-Datei in eine .h-Datei zu konvertieren
./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY
Als Ergebnis sollten Sie eine Datei namens "psplash-ixlogo-img.h" erhalten. Der Header sieht wie folgt aus:
/* 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*) \
...
Wenn Sie die Hintergrundfarbe des Begrüßungsbildschirms ändern möchten, können Sie die folgende Zeile hinzufügen:
#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00
Dadurch wird die Hintergrundfarbe auf Grün gesetzt.
Benutzerdefinierten Meta-Layer erstellen
Um den erstellten Begrüßungsbildschirmbild einzubinden, benötigen wir einen benutzerdefinierten Meta-Layer.
Erste Quelle für rpi-build.
source poky-honister/oe-init-build-env rpi-build
Mit "bitbake-layers" erstellen wir einen neuen Meta-Layer und fügen diesen Meta-Layer dem "conf/bblayers.conf" des aktuellen Projekts hinzu.
bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi
Kopieren Sie danach das Verzeichnis "psplash" von "meta-raspberrypi/recipes-core" zum neuen Meta-Layer:
mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/
Kopieren Sie "psplash-ixlogo-img.h" nach "meta-interelectronix-rpi/recipes-core/psplash/files/"
cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/
Bearbeiten Sie schließlich "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" und ändern Sie "psplash-raspberrypi-img.h" in "psplash-ixlogo-img.h".
psplash einfügen
Im letzten Schritt muss das "psplash"-Paket zur "local.conf"-Datei des Projekts hinzugefügt werden. Bearbeiten Sie dazu die Datei /workdir/rpi-build/conf/local.conf
Meine local.conf sieht wie folgt aus:
## 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 "
Urheberrechtslizenz
Copyright © 2022 Interelectronix e.K.
Dieser Projekt-Quellcode ist unter der GPL-3.0 Lizenz lizenziert.