ایمبیڈڈ سافٹ ویئر - اپنی مرضی کے مطابق اسپلیش اسکرین یوکٹو سیاہ متن کے ساتھ ایک سفید لوڈنگ بار

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-file میں تبدیل کرنے کے لیے اسکرپٹ کا استعمال کر سکتے ہیں

./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

اس کے بعد meta-raspberrypi/recipes-core سے "psplash" ڈائریکٹری کو نئی میٹا لیئر میں کاپی کریں:

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 to 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 eKاس پروجیکٹ کا سورس کوڈ GPL-3.0 لائسنس کے تحت لائسنس یافتہ ہے۔