0

我正在制作一个 yocto 映像,该映像是使用 syslinux 从 USB 记忆棒启动的。我想隐藏很多引导输出。从阅读yocto 文档看来,添加启动画面应该会隐藏它。我已添加splashIMAGE_FEATURES,但没有出现启动画面,并且 syslinux 引导输出仍然可见。知道我可能做错了什么吗?也欢迎有关如何隐藏该引导输出的其他建议。

4

2 回答 2

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的是因为我想替换新创建的 psplash 文件poky/meta/recipes-core/psplash/files/psplash-poky-img.h

中还有另一个 psplash poky/meta-yocto/recipes-core/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。颜色是十六进制的。完成后,创建一个补丁文件以供下次编译使用。

于 2016-05-10T17:50:04.970 回答
0

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 问题

于 2016-08-21T06:20:01.067 回答