Perisian Terbenam - Skrin percikan tersuai Yocto bar pemuatan putih dengan teks hitam

Yocto Raspberry Pi

Skrin Percikan Tersuai dengan Bar Kemajuan

Sediakan imej skrin percikan

Skrin percikan dikendalikan oleh resipi yang dipanggil "psplash" yang terdapat di bawah direktori "/workdir/poky-honister/meta-raspberrypi/recipes-core" pokok sumber.

Oleh kerana "psplash" menjangkakan imej berada dalam format fail pengepala, pertama anda perlu menukar imej anda menjadi format fail pengepala dengan menggunakan skrip yang dipanggil "make-image-header.sh".

Repositori psplash klon

Untuk mendapatkan skrip, klon repositori psplash yoctoproject - dalam kes ini ke direktori /workdir

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

Dalam direktori psplash anda akan menemui skrip "make-image-header.sh".

Pasang pustaka

Skrip memerlukan "libgdk-pixbuf2.0-dev" untuk dipasang dalam sistem. Anda boleh melakukan ini dalam tetingkap terminal kedua dengan:

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

Kini anda boleh menggunakan skrip untuk menukar fail png anda kepada fail .h

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

Akibatnya, anda harus mendapatkan fail bernama "psplash-ixlogo-img.h". Pengepala kelihatan 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 belakang skrin percikan, anda boleh menambah baris berikut:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Ini menetapkan warna latar belakang kepada hijau. </:code5:></:code4:></:code3:></:code2:></:code1:>

Buat lapisan meta tersuai

Untuk memasukkan imej skrin percikan yang dibuat, kita memerlukan lapisan meta tersuai.

Sumber pertama untuk membina rpi.

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

Dengan "lapisan bitbake" kami mencipta lapisan meta baru dan menambah lapisan meta ini ke conf / bblayers.conf projek semasa.

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

Selepas salinan ini direktori "psplash" dari meta-raspberrypi / resipi-teras ke meta-lapisan 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/

Akhirnya edit "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" dan tukar "psplash-raspberrypi-img.h" kepada "psplash-ixlogo-img.h".</:code9:></:code8:></:code7:></:code6:>

Termasuk psplash

Dalam langkah terakhir, pakej psplash mesti ditambah ke fail local.conf projek. Untuk melakukan ini, edit fail /workdir/rpi-build/conf/local.conf

Tempatan saya.conf kelihatan 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 "

Lesen Hak Cipta

Hakcipta Terpelihara © 2022 Interelectronix e.K.
Kod sumber Projek ini dilesenkan di bawah lesen GPL-3.0.