Beágyazott szoftver - Egyéni kezdőkép Yocto fehér betöltő sáv fekete szöveggel

Yocto málna Pi

Egyéni kezdőkép folyamatjelző sávval

A kezdőkép előkészítése

A kezdőképet egy "psplash" nevű recept kezeli, amely a forrásfa "/workdir/poky-honister/meta-raspberrypi/recipes-core" könyvtárában található.

Mivel a "psplash" arra számít, hogy a kép fejléc fájlformátumban van, először át kell alakítania a képet fejléc fájlformátumba az "make-image-header.sh" nevű szkript használatával.

Psplash adattár klónozása

A szkript lekéréséhez klónozza a yoctoproject psplash adattárat – ebben az esetben a /workdir könyvtárba

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

A psplash könyvtárban megtalálja a "make-image-header.sh" szkriptet.

Könyvtár telepítése

A szkriptnek telepítenie kell a "libgdk-pixbuf2.0-dev" programot a rendszerbe. Ezt egy második terminálablakban teheti meg a következővel:

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

Most a szkript segítségével konvertálhatja png fájlját .h-fájlba

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

Ennek eredményeként meg kell kapnia egy "psplash-ixlogo-img.h" nevű fájlt. A fejléc így néz ki:

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

Ha módosítani szeretné a kezdőkép háttérszínét, hozzáadhatja a következő sort:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Ezzel zöldre állítja a háttérszínt. </:code5:></:code4:></:code3:></:code2:></:code1:>

Egyéni metaréteg létrehozása

A létrehozott kezdőkép beillesztéséhez egyéni metarétegre van szükségünk.

Az rpi-build első forrása.

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

A "bitbake-layers" segítségével létrehozunk egy új meta réteget, és hozzáadjuk ezt a metaréteget az aktuális projekt conf/bblayers.conf fájljához.

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

Ezután másolja a "psplash" könyvtárat a meta-raspberrypi/recipes-core könyvtárból az új metarétegbe:

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

Másolja a psplash-ixlogo-img.h fájlt a meta-interelectronix-rpi/recipes-core/psplash/files/ mappába

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

Végül szerkessze a "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" fájlt, és módosítsa a "psplash-raspberrypi-img.h" fájlt "psplash-ixlogo-img.h" -ra.</:code9:></:code8:></:code7:></:code6:>

Tartalmazza a psplash-t

Az utolsó lépésben a psplash csomagot hozzá kell adni a projekt local.conf fájljához. Ehhez szerkessze a /workdir/rpi-build/conf/local.conf fájlt

A local.conf így néz ki:

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

Szerzői jogi licenc

Copyright © 2022 Interelectronix e.K.
Ez a Project forráskód a GPL-3.0 licenc alatt van licencelve.