yocto启动画面没有出现

时间:2016-05-10 16:00:50

标签: yocto bitbake syslinux

我正在制作一张yocto图像,我使用syslinux从usb棒启动。我想隐藏很多启动输出。从阅读the yocto docs看起来添加启动画面应该隐藏它。我已将splash添加到IMAGE_FEATURES,但启动屏幕不会显示,并且syslinux启动输出​​仍然可见。知道我可能做错了吗?关于如何隐藏启动输出的其他建议也欢迎。

2 个答案:

答案 0 :(得分:2)

要在图片中添加启动画面,请在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中的一个。{1}}。

psplash_git.bbappend中,将my-splash-img.h添加到文件目录后,您可以添加SPLASH_IMAGES = "file://my-splash-img.h;outsuffic=default"来选择启动图像。

要更改背景,条形等的颜色,您需要转到${WORKDIR}/psplash/git/psplash-colors.h。颜色为十六进制。完成后,创建一个补丁文件以用于下次编译。

答案 1 :(得分:0)

Amlogic S905 SOC等某些平台上,OSD图层具有默认透明度,因为它旨在覆盖视频。例如在STB盒子中使用的是什么。因此,您可能必须为每个像素设置透明度

 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