snazzybucket
snazzybucket

Reputation: 181

yocto splash screen not appearing

I'm making a yocto image which I'm booting from a usb stick using syslinux. There's a lot of boot output that I'd like to hide. From reading the yocto docs it looks like adding a splash screen should hide this. I have added splash to the IMAGE_FEATURES, but the splash screen doesn't appear, and the syslinux boot output is still visible. Any idea what I may be doing wrong? Other suggestions on how to hide that boot output also welcome.

Upvotes: 1

Views: 7244

Answers (2)

graugans
graugans

Reputation: 248

On some platforms like the Amlogic S905 SOC the OSD layer has a default transparency because it is intended to overlay a video. What is used for example in STB boxes. So you may have to set the transparency for each pixel

 From 01cf2069631609b6a9a17fe087cf96925f9ac546 Mon Sep 17 00:00:00 2001
 From: Christian Ege <[email protected]>
 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 <[email protected]>
 ---
  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

For more details check the following github issue.

Upvotes: 0

Charles C.
Charles C.

Reputation: 3913

To add splash screen into the image, in your local.conf, add

IMAGE_INSTALL_append = " psplash"

The psplash recipe is in /poky/meta/recipes-core/psplash.

Another option is to create core-image-full-cmdline which will have psplash in it.

Edit: If you want to modify the psplash screen, git clone git://git.yoctoproject.org/psplash

have a .png image of yours with the same screen dimension

go to the psplash directory and find make-image-header.sh

$./make-image-heaer.sh <your-image>.png POKY_IMG

Note that I used POKY_IMG is because I want to replace the newly created psplash files in poky/meta/recipes-core/psplash/files/psplash-poky-img.h

There is also another psplash in poky/meta-yocto/recipes-core/psplash. This one is psplash_git.bbappend which will override the one in /poky/meta/recipes-core/psplash.

In psplash_git.bbappend, after you have added your my-splash-img.h to the file directory, you could add SPLASH_IMAGES = "file://my-splash-img.h;outsuffic=default" for it to choose your splash image.

To change color of the background, bar, etc. you will need to go to ${WORKDIR}/psplash/git/psplash-colors.h. The color is in hex. After you have done, create a patch file to use it for next time compile.

Upvotes: 3

Related Questions