स्प्लैश स्क्रीन की इमेज तैयार करें
स्प्लैश स्क्रीन को "psplash" नाम की एक रेसिपी के ज़रिए हैंडल किया जाता है। यह रेसिपी सोर्स ट्री के "/workdir/poky-honister/meta-raspberrypi/recipes-core" डायरेक्टरी में मौजूद होती है।
चूँकि "psplash" के लिए यह ज़रूरी है कि इमेज हेडर फ़ाइल फ़ॉर्मेट में होनी चाहिए, इसलिए पहले आपको अपनी इमेज को "make-image-header.sh" नाम की स्क्रिप्ट का इस्तेमाल करके हेडर फ़ाइल फ़ॉर्मेट में बदलना होगा।
क्लोन psplash रिपॉज़िटरी
स्क्रिप्ट हासिल करने के लिए, yocto प्रोजेक्ट 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 से meta-layer में कॉपी करें:
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/ में कॉपी करें
<:code9>
अंत में "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 लाइसेंस के तहत लाइसेंस पर दिया जाता है।