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.