Embedded Software - Vlastní úvodní obrazovka Yocto bílá nakládací lišta s černým textem

Yocto Malina Pi

Vlastní úvodní obrazovka s ukazatelem průběhu

Příprava obrázku úvodní obrazovky

Úvodní obrazovka je zpracována receptem zvaným "psplash", který se nachází v adresáři "/workdir/poky-honister/meta-raspberrypi/recipes-core" zdrojového stromu.

Vzhledem k tomu, že "psplash" očekává, že obrázek bude ve formátu hlavičkového souboru, musíte nejprve převést obrázek do formátu souboru záhlaví pomocí skriptu nazvaného "make-image-header.sh".

Klonování úložiště psplash

Chcete-li získat skript, naklonujte repozitář psplash yoctoproject - v tomto případě do adresáře /workdir

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

V adresáři psplash najdete skript "make-image-header.sh".

Instalace knihovny

Skript potřebuje "libgdk-pixbuf2.0-dev" být nainstalován v systému. Můžete to provést v druhém okně terminálu pomocí:

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

Nyní můžete pomocí skriptu převést soubor png na soubor .h

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

V důsledku toho byste měli získat soubor s názvem "psplash-ixlogo-img.h". Záhlaví vypadá takto:

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

Chcete-li změnit barvu pozadí úvodní obrazovky, můžete přidat následující řádek:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Tím se barva pozadí nastaví na zelenou. </:code5:></:code4:></:code3:></:code2:></:code1:>

Vytvoření vlastní meta vrstvy

Abychom mohli zahrnout vytvořený obrázek úvodní obrazovky, potřebujeme vlastní meta vrstvu.

První zdroj pro rpi-build.

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

Pomocí "bitbake-layers" vytvoříme novou meta vrstvu a přidáme tuto meta vrstvu do conf/bblayers.conf aktuálního projektu.

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

Po tomto zkopírujte adresář "psplash" z meta-raspberrypi/recipes-core do nové meta-vrstvy:

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

Zkopírujte psplash-ixlogo-img.h do meta-interelectronix-rpi/recipes-core/psplash/files/

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

Nakonec upravte "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" a změňte "psplash-raspberrypi-img.h" na "psplash-ixlogo-img.h".</:code9:></:code8:></:code7:></:code6:>

Zahrnout psplash

V posledním kroku musí být balíček psplash přidán do souboru local.conf projektu. Chcete-li to provést, upravte soubor /workdir/rpi-build/conf/local.conf

Můj local.conf vypadá takto:

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

Licence na autorská práva

Autorská práva © 2022 Interelectronix e.K.
Tento zdrojový kód projektu je licencován pod licencí GPL-3.0.