Chuẩn bị hình ảnh màn hình giật gân
Màn hình giật gân được xử lý bởi một công thức gọi là "psplash" được tìm thấy trong thư mục "/workdir/poky-honister/meta-raspberrypi/recipes-core" của cây nguồn.
Vì "psplash" mong đợi một hình ảnh ở định dạng tệp tiêu đề, trước tiên bạn cần chuyển đổi hình ảnh của mình thành định dạng tệp tiêu đề bằng cách sử dụng tập lệnh có tên là "make-image-header.sh".
Sao chép kho lưu trữ psplash
Để lấy tập lệnh, hãy sao chép kho lưu trữ psplash yoctoproject - trong trường hợp này vào thư mục /workdir
git clone https://git.yoctoproject.org/psplash
Trong thư mục psplash, bạn sẽ tìm thấy tập lệnh "make-image-header.sh".
Cài đặt thư viện
Tập lệnh cần "libgdk-pixbuf2.0-dev" để được cài đặt trong hệ thống. Bạn có thể thực hiện việc này trong cửa sổ terminal thứ hai với:
docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit
Bây giờ bạn có thể sử dụng tập lệnh để chuyển đổi tệp png của mình thành tệp .h
./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY
Do đó, bạn sẽ nhận được một tệp có tên "psplash-ixlogo-img.h". Tiêu đề trông giống như:
/* 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*) \
...
Nếu bạn muốn thay đổi màu nền của màn hình giật gân, bạn có thể thêm dòng sau:
#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00
Điều này đặt màu nền thành màu xanh lá cây. </:code5:></:code4:></:code3:></:code2:></:code1:>
Tạo lớp meta tùy chỉnh
Để bao gồm hình ảnh màn hình giật gân đã tạo, chúng ta cần một lớp meta tùy chỉnh.
Nguồn đầu tiên để xây dựng rpi.
source poky-honister/oe-init-build-env rpi-build
Với "bitbake-layers", chúng ta tạo một meta layer mới và thêm meta layer này vào conf/bblayers.conf của project hiện tại.
bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi
Sau đó, sao chép thư mục "psplash" từ meta-raspberrypi/recipes-core sang meta-layer mới:
mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/
Sao chép psplash-ixlogo-img.h vào meta-interelectronix-rpi/recipes-core/psplash/files/
cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/
Cuối cùng, chỉnh sửa "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" và thay đổi "psplash-raspberrypi-img.h" thành "psplash-ixlogo-img.h".</:code9:></:code8:></:code7:></:code6:>
Bao gồm psplash
Trong bước cuối cùng, gói psplash phải được thêm vào tệp local.conf của dự án. Để thực hiện việc này, hãy chỉnh sửa tệp /workdir/rpi-build/conf/local.conf
local.conf của tôi trông giống như:
## 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 "
Giấy phép bản quyền
**Bản quyền © 2022 Interelectronix ví dụ: **
Mã nguồn Project này được cấp phép theo giấy phép GPL-3.0.