测试平台: IMX7 PD18.1.1

psplash是开机显示进度条的服务, 默认的logo是openembedded的logo.

在psplash_git.bb中定义了这个服务的logo为psplash-poky-img.h文件.

SPLASH_IMAGES = "file://psplash-poky-img.h;outsuffix=default"

所以更换logo就是把这个文件更换为自定义的logo的.h文件.

PNG转换为.h文件

gdk-pixbuf-csource --macros --name=poky_img --rle 3.png > psplash-poky-img.h

然后修改psplash-poky-img.h文件, 把像素数据类型guint8*改为uint8*(不修改的话编译报错, 没有这个数据类型)

#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \

替换yocto中的psplash-poky-img.h文件

首先在BSP的source目录下自定义layer中创建psplash的路径

mkdir -p [meta-custom]/recipes-core/psplash/				# [meta-custom]要换成对应自定义layer的名字
mkdir -p [meta-custom]/recipes-core/psplash/files

把转换后的图片复制到files的目录下

cp psplash-poky-img.h [meta-custom]/recipes-core/psplash/files

创建psplash_git.bbapend文件

vi [meta-custom]/recipes-core/psplash/psplash_git.bbappend

内容如下:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

以上操作完成后重新编译镜像即可.

如果需要针对不同的MACHINE配置不同的LOGO的话,

可以在[meta-custom]/recipes-core/psplash/目录下创建不同的目录, 并把logo的psplash-poky-img.h文件对应放在不同的目录下

然后在psplash_git.bbapend文件中指定不同的MACHINE使用不同的目录

FILESEXTRAPATHS_prepend_[MACHINE] := "${THISDIR}/[dir]:"       #[MACHINE]要修改成对应的MACHINE名,[dir]要修改成不同的目录名字


测试图片:

psplash-poky-img.h




  • No labels