تصویر صفحه اسپلش را آماده کنید
صفحه اسپلش توسط دستور العملی به نام "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 است.