我已经使用此处的说明成功构建了一个树莓派 Yocto 图像:http ://www.jumpnowtek.com/rpi/Raspberry-Pi-Systems-with-Yocto.html 。当系统启动时,我会看到带有加载栏的 Raspberry Pi 的默认 psplash 闪屏。
meta-raspberrypi 层有一个 psplash bbappend 配方文件,它定义了系统启动时看到的 raspberry pi 图像。
me@me:~/poky-morty/meta-raspberrypi$ grep -R SPLASH *
conf/machine/include/rpi-base.inc:SPLASH = "psplash-raspberrypi"
recipes-core/images/rpi-basic-image.bb:SPLASH = "psplash-raspberrypi"
recipes-core/psplash/psplash_git.bbappend:SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
dpi-base.inc 中的 SPLASH 变量定义了要使用的启动画面(我认为...),而 psplash_git.bbappend 文件假装带有匹配的树莓派后缀的图像。
bbappend 看起来像这样:
me@me:~/poky-morty/meta-raspberrypi$ cat recipes-core/psplash/psplash_git.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
我有一个自定义层,我在该层中创建了另一个 psplash_git.bbappend ,其中包含以下内容 - 尝试用我自己的图像覆盖用于树莓派启动画面的图像:
me@me:~/rpi/meta-me/recipes-me/psplash$ cat psplash_git.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES += "file://social.jpg-img.h;outsuffix=raspberrypi"
如果我尝试使用包含的自定义 bbappend 构建我的图像,我会收到以下错误:
Initialising tasks: 100% |##################################| Time: 0:00:05
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: psplash-0.1+gitAUTOINC+88343ad23c-r15 do_package: QA Issue: psplash-raspberrypi is listed in PACKAGES multiple times, this leads to packaging errors. [packages-list]
ERROR: psplash-0.1+gitAUTOINC+88343ad23c-r15 do_package: Fatal QA errors found, failing task.
ERROR: psplash-0.1+gitAUTOINC+88343ad23c-r15 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /home/me/rpi/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/psplash/0.1+gitAUTOINC+88343ad23c-r15/temp/log.do_package.63289
ERROR: Task (/home/me/poky-morty/meta/recipes-core/psplash/psplash_git.bb:do_package) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3439 tasks of which 3430 didn't need to be rerun and 1 failed.
如果我将后缀更改为默认值,我会得到相同的错误(重复目标)。
我可以通过将我的 bbappend 更改为此来解决此错误:
me@me:~/rpi/meta-me/recipes-me/psplash$ cat psplash_git.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES += "file://social.jpg-img.h;outsuffix=me"
然后我尝试在我的 local.conf 中覆盖 SPLASH 配置变量,如下所示:
# Set the Custom Splash screen
SPLASH = "psplash-me"
但无论我做什么,它总是呈现默认的树莓派。
如何用我自己的图像覆盖默认的 psplash 初始屏幕?谢谢。