【发布时间】:2016-08-21 14:20:01
【问题描述】:
我正在制作一个 yocto 映像,该映像是使用 syslinux 从 USB 记忆棒启动的。我想隐藏很多引导输出。从阅读the yocto docs 看来,添加启动屏幕应该会隐藏它。我已将splash 添加到IMAGE_FEATURES,但没有出现启动画面,并且syslinux 引导输出仍然可见。知道我可能做错了什么吗?也欢迎其他有关如何隐藏该引导输出的建议。
【问题讨论】:
我正在制作一个 yocto 映像,该映像是使用 syslinux 从 USB 记忆棒启动的。我想隐藏很多引导输出。从阅读the yocto docs 看来,添加启动屏幕应该会隐藏它。我已将splash 添加到IMAGE_FEATURES,但没有出现启动画面,并且syslinux 引导输出仍然可见。知道我可能做错了什么吗?也欢迎其他有关如何隐藏该引导输出的建议。
【问题讨论】:
要将启动画面添加到图像中,请在您的local.conf 中添加
IMAGE_INSTALL_append = " psplash"
psplash 配方位于/poky/meta/recipes-core/psplash。
另一种选择是创建core-image-full-cmdline,其中将包含 psplash。
编辑:如果要修改psplash画面,git clone git://git.yoctoproject.org/psplash
拥有一张与您的.png 屏幕尺寸相同的图片
进入psplash目录,找到make-image-header.sh
$./make-image-heaer.sh <your-image>.png POKY_IMG
注意我用POKY_IMG是因为我想替换poky/meta/recipes-core/psplash/files/psplash-poky-img.h中新建的psplash文件
poky/meta-yocto/recipes-core/psplash 中还有另一个 psplash。这个是psplash_git.bbappend,它将覆盖/poky/meta/recipes-core/psplash 中的那个。
在psplash_git.bbappend 中,将my-splash-img.h 添加到文件目录后,可以添加SPLASH_IMAGES = "file://my-splash-img.h;outsuffic=default" 以便它选择您的启动图像。
要更改背景、条形等的颜色,您需要转到${WORKDIR}/psplash/git/psplash-colors.h。颜色是十六进制的。完成后,创建一个补丁文件以供下次编译使用。
在Amlogic S905 SOC 等某些平台上,OSD 层具有默认透明度,因为它旨在覆盖视频。例如在机顶盒中使用什么。所以你可能需要为每个像素设置透明度
From 01cf2069631609b6a9a17fe087cf96925f9ac546 Mon Sep 17 00:00:00 2001
From: Christian Ege <k4230r6@gmail.com>
Date: Sat, 20 Aug 2016 10:37:53 +0200
Subject: [PATCH] Manage transparency to each 32 bit pixel in RGB888
Otherwise we'll have a black screen instead of a boot splash
Signed-off-by: Christian Ege <k4230r6@gmail.com>
---
psplash-fb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/psplash-fb.c b/psplash-fb.c
index 38cd6a4..6ca8006 100644
--- a/psplash-fb.c
+++ b/psplash-fb.c
@@ -308,7 +308,7 @@ psplash_fb_plot_pixel (PSplashFB *fb,
break;
case 32:
*(volatile uint32_t *) (fb->data + off)
- = (red << 16) | (green << 8) | (blue);
+ = (0xFF << 24) | (red << 16) | (green << 8) | (blue);
break;
case 16:
--
2.7.4
更多详情请查看以下github issue。
【讨论】: