Naka-embed na Software - Pasadyang splash screen Yocto isang puting loading bar na may itim na teksto

Yocto Raspberry Pi

Pasadyang Splash Screen na may Progress Bar

Maghanda ng splash screen image

Splash screen ay hawakan sa pamamagitan ng isang recipe na tinatawag na "psplash" na matatagpuan sa ilalim ng "/ workdir / poky-honister / meta-raspberrypi / recipes-core" direktoryo ng source tree.

Dahil ang "psplash" ay umaasa na ang isang imahe ay nasa format ng header file, una kailangan mong i convert ang iyong imahe sa isang format ng file ng header sa pamamagitan ng paggamit ng isang script na tinatawag na "make-image-header.sh".

Clone psplash repository

Upang makuha ang script, clone ang yoctoproject psplash repository - sa kasong ito sa / workdir directory

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

Sa psplash directory makikita mo ang script na "make-image-header.sh".

Mag install ng library

Ang script ay nangangailangan ng "libgdk-pixbuf2.0-dev" upang mai-install sa system. Maaari mong gawin ito sa isang pangalawang terminal window na may:

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

Ngayon ay maaari mong gamitin ang script upang i convert ang iyong png file sa .h-file

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

Bilang resulta, dapat kang makakuha ng isang file na may pangalang "psplash-ixlogo-img.h". Ang header ay mukhang:

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

Kung nais mong baguhin ang kulay ng background ng splash screen, maaari mong idagdag ang sumusunod na linya:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Itinatakda nito ang kulay ng background sa isang berde. </:code5:></:code4:></:code3:></:code2:></:code1:>

Lumikha ng pasadyang meta layer

Upang isama ang nilikha splash screen imahe, kailangan namin ng isang pasadyang meta layer.

Unang source sa rpi-build.

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

Sa "bitbake-layers" lumilikha kami ng bagong meta layer at idinagdag ang meta layer na ito sa conf/bblayers.conf ng kasalukuyang proyekto.

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

Pagkatapos nito kopyahin ang direktoryo "psplash" mula sa meta-prambuwesasapi / recipes-core sa bagong meta-layer:

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

Kopyahin ang psplash-ixlogo-img.h sa meta-interelectronix-rpi/recipes-core/psplash/files/

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

Sa wakas i-edit ang "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" at baguhin ang "psplash-raspberrypi-img.h" sa "psplash-ixlogo-img.h".</:code9:></:code8:></:code7:></:code6:>

Isama ang psplash

Sa huling hakbang, ang psplash package ay dapat idagdag sa local.conf file ng proyekto. Upang gawin ito, i-edit ang file na /workdir/rpi-build/conf/local.conf

Ang aking lokal.conf ay mukhang:

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

Lisensya sa Copyright

Copyright © 2022 Interelectronix e.K.
Ang source code na ito ng Proyekto ay lisensyado sa ilalim ng GPL-3.0 lisensya.