我正在制作一个 yocto 映像,该映像是使用 syslinux 从 USB 记忆棒启动的。我想隐藏很多引导输出。从阅读yocto 文档看来,添加启动画面应该会隐藏它。我已添加splash
到IMAGE_FEATURES
,但没有出现启动画面,并且 syslinux 引导输出仍然可见。知道我可能做错了什么吗?也欢迎有关如何隐藏该引导输出的其他建议。
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
。颜色是十六进制的。完成后,创建一个补丁文件以供下次编译使用。
在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 问题。