![Perangkat Lunak Tertanam - Layar splash khusus Yocto bilah pemuatan putih dengan teks hitam](https://www.interelectronix.com/sites/default/files/styles/einspaltig_abfallend_jpg/public/image_contenttype/psplash-ixlogo_0.jpg?itok=eCCiQI3z)
Siapkan gambar layar splash
Layar splash diatur oleh sebuah rumus yang disebut "psplash" yang dapat ditemukan di direktori "/workdir/poky-honister/meta-raspberrypi/recipes-core" di pohon sumber.
Karena "psplash" hanya menerima gambar dalam format file header, pertama, Anda perlu mengonversi gambar Anda menjadi file header dengan menggunakan skrip yang disebut "make-image-header.sh".
Kloning repositori psplash
Untuk mendapatkan skripnya, kloning repositori pslplash yoctoproject - dalam hal ini direktori /workdir
git clone https://git.yoctoproject.org/psplash
Di dalam direktori psplash, Anda akan menemukan skrip "make-image-header.sh".
Instal perpustakaan
Skrip memerlukan "libgdk-pixbuf2.0-dev" agar terinstal ke dalam sistem. Anda dapat melakukan ini di jendela terminal kedua dengan:
docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit
Sekarang, Anda dapat menggunakan skrip untuk mengonversi file png ke .h-file
./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY
Hasilnya, Anda akan mendapatkan file yang bernama "psplash-ixlogo-img.h". Header-nya akan terlihat seperti:
/* 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*) \
...
Jika Anda ingin mengubah warna latar dari layar splash, Anda dapat menambahkan baris berikut:
#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00
Ini akan menjadikan warna layar menjadi hijau.
Buat lapisan meta kustom
Untuk menyertakan gambar layar splash yang dibuat, kami memerlukan lapisan meta kustom.
Pertama, ambil dari sumber untuk rpi-build.
source poky-honister/oe-init-build-env rpi-build
Menggunakan "bitbake-layers", kami membuat lapisan meta baru dan menambahkan lapisan meta ini ke conf/bblayers.conf proyek saat ini.
bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi
Setelah ini, salin direktori "psplash" dari meta-raspberrypi/recipes-core ke lapisan meta baru:
mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/
Salin psplash-ixlogo-img.h ke meta-interelectronix-rpi/recipes-core/psplash/files/
cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/
Terakhir, edit "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" dan ubah "psplash-raspberrypi-img.h" menjadi "psplash-ixlogo-img.h".
Sertakan psplash
Di langkah terakhir, paket psplash harus ditambahkan ke file local.conf file proyek. Untuk melakukan hal ini, edit file /workdir/rpi-build/conf/local.conf
local.conf saya menjadi seperti:
## 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 "
Lisensi Hak Cipta
Hak Cipta © 2022 Interelectronix e.K.
Kode sumber proyek ini dilisensikan di bawah lisensiGPL-3.0.