نرم افزار جاسازی شده - صفحه نمایش چلپ چلوپ سفارشی Yocto نوار بارگیری سفید با متن سیاه و سفید

Yocto Raspberry Pi

صفحه اسپلش سفارشی با نوار پیشرفت

تصویر صفحه اسپلش را آماده کنید

صفحه اسپلش توسط دستور العملی به نام "psplash" که موجود در دایرکتوری مبدأ "/workdir/poky-honister/meta-raspberrypi/recipes-core"، مدیریت می شود.

از آنجا که "psplash" انتظار دارد تصویر دارای فرمت فایل هدر باشد، ابتدا باید تصویر خود را با استفاده از اسکریپتی به نام "make-image-header.sh" به فرمت فایل هدر تبدیل کنید.

کلون کردن مخزن psplash

برای دریافت اسکریپت، مخزن yoctoproject psplash را کلون کنید - در این مورد، در دایرکتوری /workdir

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

در دایرکتوری psplash، اسکریپت "make-image-header.sh" را خواهید یافت.

نصب کتابخانه

این اسکریپت برای نصب شدن در سیستم، به "libgdk-pixbuf2.0-dev" نیاز دارد. شما می توانید این کار را در یک پنجره ترمینال دوم انجام دهید با:

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

اکنون می‌توانید از این اسکریپت برای تبدیل فایل png خود به فایل .h استفاده کنید

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

در نتیجه باید فایلی با نام "psplash-ixlogo-img.h" دریافت کنید. هدر اینگونه به نظر می رسد:

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

اگر می خواهید رنگ پس زمینه صفحه اسپلش را تغییر دهید، می توانید خط زیر را اضافه کنید:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

با این کار رنگ پس زمینه سبز می شود.

ایجاد لایه متای سفارشی

برای گنجاندن تصویر صفحه اسپلش ایجاد شده، به یک لایه متای سفارشی نیاز داریم.

ابتدا به rpi-build مراجعه کنید.

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

ما با "bitbake-layers" یک لایه متای جدید ایجاد می کنیم و این لایه متا را به conf/bblayers.conf پروژه فعلی اضافه می کنیم.

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

سپس دایرکتوری "psplash" را از meta-raspberrypi/recipes-core به لایه متای جدید کپی کنید:

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

psplash-ixlogo-img.h را در meta-interelectronix-rpi/recipes-core/psplash/files/ کپی کنید

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

در نهایت "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" را ویرایش کنید و "psplash-raspberrypi-img.h" را به "psplash-ixlogo-img.h" تغییر دهید.

گنجاندن psplash

در مرحله آخر باید بسته psplash به فایل local.conf پروژه اضافه شود. برای این کار، فایل /workdir/rpi-build/conf/local.conf را ویرایش کنید

local.conf من اینگونه است:

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

مجوز کپی رایت

کپی‌رایت © 2022 Interelectronix e.K.این کد منبع پروژه دارای مجوز GPL-3.0 است.