Software încorporat - Ecran de pornire personalizat Yocto o bară de încărcare albă cu text negru

Yocto Zmeură Pi

Ecran de stropire personalizat cu bară de progres

Pregătiți imaginea ecranului de pornire

Ecranul Splash este gestionat de o rețetă numită "psplash" găsită în directorul "/workdir/poky-honister/meta-raspberrypi/recipes-core" al arborelui sursă.

Deoarece "psplash" se așteaptă ca o imagine să fie în format de fișier antet, mai întâi trebuie să convertiți imaginea într-un format de fișier antet utilizând un script numit "make-image-header.sh".

Clonați depozitul psplash

Pentru a obține scriptul, clonați depozitul yoctoproject psplash - în acest caz în directorul /workdir

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

În directorul psplash veți găsi scriptul "make-image-header.sh".

Instalați biblioteca

Scriptul are nevoie de "libgdk-pixbuf2.0-dev" pentru a fi instalat în sistem. Puteți face acest lucru într-o a doua fereastră de terminal cu:

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

Acum puteți utiliza scriptul pentru a converti fișierul png în fișier .h

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

Ca rezultat, ar trebui să obțineți un fișier numit "psplash-ixlogo-img.h". Antetul arată astfel:

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

Dacă doriți să schimbați culoarea de fundal a ecranului de pornire, puteți adăuga următoarea linie:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Aceasta setează culoarea de fundal la un verde. </:code5:></:code4:></:code3:></:code2:></:code1:>

Crearea unui metastrat tematic personalizat

Pentru a include imaginea creată a ecranului de pornire, avem nevoie de un metastrat personalizat.

Prima sursă pentru rpi-build.

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

Cu "bitbake-layers" creăm un nou meta layer și adăugăm acest meta layer la conf/bblayers.conf al proiectului curent.

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

După această copiere a directorului "psplash" din meta-raspberrypi/recipes-core în noul meta-strat:

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

Copiați psplash-ixlogo-img.h în meta-interelectronix-rpi/recipes-core/psplash/files/

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

În cele din urmă, editați "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" și schimbați "psplash-raspberrypi-img.h" în "psplash-ixlogo-img.h".</:code9:></:code8:></:code7:></:code6:>

Includeți psplash

În ultimul pas, pachetul psplash trebuie adăugat la fișierul local.conf al proiectului. Pentru a face acest lucru, editați fișierul /workdir/rpi-build/conf/local.conf

Local.conf-ul meu arată astfel:

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

Licență pentru drepturi de autor

Copyright © 2022 Interelectronix e.K.
Acest cod sursă al Proiectului este licențiat sub licența GPL-3.0.