Ugrađeni softver – prilagođeni početni zaslon Yocto bijela traka za učitavanje s crnim tekstom

Yocto malina Pi

Prilagođeni početni zaslon s trakom napretka

Priprema slike početnog zaslona

Splash zaslonom rukuje recept pod nazivom "psplash" koji se nalazi pod direktorijem izvornog stabla "/workdir/poky-honister/meta-raspberrypi/recipes-core".

Budući da "psplash" očekuje da će slika biti u formatu datoteke zaglavlja, prvo morate pretvoriti sliku u format datoteke zaglavlja pomoću skripte pod nazivom "make-image-header.sh".

Clone psplash repozitorij

Da biste dobili skriptu, klonirajte spremište yoctoproject psplash - u ovom slučaju u direktorij /workdir

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

U direktoriju psplash pronaći ćete skriptu "make-image-header.sh".

Instaliraj biblioteku

Skripta treba "libgdk-pixbuf2.0-dev" da bi se instalirala u sustav. To možete učiniti u drugom prozoru terminala s:

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

Sada možete koristiti skriptu za pretvaranje png datoteke u .h-datoteku

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

Kao rezultat toga, trebali biste dobiti datoteku pod nazivom "psplash-ixlogo-img.h". Zaglavlje izgleda ovako:

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

Ako želite promijeniti boju pozadine početnog zaslona, možete dodati sljedeći redak:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Time se boja pozadine postavlja na zelenu. </:code5:></:code4:></:code3:></:code2:></:code1:>

Stvaranje prilagođenog metasloja

Da bismo uključili stvorenu sliku početnog zaslona, potreban nam je prilagođeni meta sloj.

Prvi izvor za rpi-izgradnju.

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

S "bitbake-slojevima" stvaramo novi meta sloj i dodajemo ovaj metasloj u conf/bblayers.conf trenutnog projekta.

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

Nakon toga kopirajte direktorij "psplash" iz meta-raspberrypi/recipes-core u novi meta-sloj:

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

Kopirajte psplash-ixlogo-img.h u meta-interelectronix-rpi/recipes-core/psplash/files/

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

Na kraju uredite "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" i promijenite "psplash-raspberrypi-img.h" u "psplash-ixlogo-img.h".</:code9:></:code8:></:code7:></:code6:>

Uključi psplash

U posljednjem koraku, psplash paket mora biti dodan u local.conf datoteku projekta. Da biste to učinili, uredite datoteku /workdir/rpi-build/conf/local.conf

My local.conf izgleda ovako:

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

Licenca za autorska prava

Autorska prava © 2022. Interelectronix e.K.
Ovaj izvorni kod projekta licenciran je pod licencom GPL-3.0.