准备启动画面图像
启动画面由源树的“/workdir/poky-honister/meta-raspberrypi/recipes-core”目录下所见名为“psplash” 的方案处理。由于“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 文件
./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
这样将背景颜色设置为绿色。
创建自定义 meta 层
要包含创建的启动画面图像,我们就需要一个自定义 meta 层。首先 source 到 rpi-build。
source poky-honister/oe-init-build-env rpi-build
我们使用“bitbake-layers” 创建一个新的 meta 层,并将此 meta 层添加到当前项目的 conf/bblayers.conf。
bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi
此后,将目录“psplash”从 meta-raspberrypi/recipes-core 复制到新的 meta 层:
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/
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 e.K.
本项目源代码根据 GPL-3.0 许可证获得许可。