2016-05-10 17 views
0

Ich mache ein yocto Bild, das ich von einem USB-Stick mit syslinux booten. Es gibt eine Menge Boot-Ausgaben, die ich gerne verstecken würde. Aus dem Lesen von the yocto docs sieht es so aus, als würde das Hinzufügen eines Begrüßungsbildschirms dies verbergen. Ich habe splash zu IMAGE_FEATURES hinzugefügt, aber der Startbildschirm wird nicht angezeigt, und die syslinux-Startausgabe ist weiterhin sichtbar. Irgendeine Idee, was ich falsch machen könnte? Andere Vorschläge, wie diese Boot-Ausgabe ausgeblendet wird, sind ebenfalls willkommen.yocto splash screen nicht erscheinen

Antwort

2

Um Splash-Screen in das Bild, in Ihrem local.conf, fügt

IMAGE_INSTALL_append = " psplash"

Das psplash Rezept ist in /poky/meta/recipes-core/psplash hinzuzufügen.

Eine andere Option ist core-image-full-cmdline zu erstellen, die psplash enthalten wird.

bearbeiten: Wenn Sie den psplash Bildschirm ändern möchten, git clone git://git.yoctoproject.org/psplash

haben ein .png Bild von Ihnen mit dem gleichen Bildschirm Dimension

zum psplash Verzeichnis gehen und make-image-header.sh

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

Beachten Sie, dass ich POKY_IMG verwendet habe, weil ich das ersetzen möchte neu erstellte Psplash-Dateien in poky/meta/recipes-core/psplash/files/psplash-poky-img.h

Es gibt auch einen anderen Psplash in poky/meta-yocto/recipes-core/psplash. Dieser ist psplash_git.bbappend, der den in /poky/meta/recipes-core/psplash überschreiben wird.

In psplash_git.bbappend, nachdem Sie Ihre my-splash-img.h in das Dateiverzeichnis hinzugefügt haben, können Sie SPLASH_IMAGES = "file://my-splash-img.h;outsuffic=default" dafür hinzufügen, um Ihre Splash-Bild zu wählen.

Um die Farbe des Hintergrunds, Balkens usw. zu ändern, gehen Sie bitte zu ${WORKDIR}/psplash/git/psplash-colors.h. Die Farbe ist in Hex. Nachdem Sie fertig sind, erstellen Sie eine Patch-Datei, um sie für das nächste Mal zu kompilieren.

+0

Ich habe die Zeile zur 'local.conf' hinzugefügt, und psplash erscheint im Image-Manifest, aber leider erscheint immer noch kein Begrüßungsbildschirm. – snazzybucket

+0

Danke für die Anpassungsinfo, das wird ziemlich bald kommen :) – snazzybucket

+0

Auf welcher Plattform laufen Sie psplash? – graugans

0

Auf einigen Plattformen wie der Amlogic S905 SOC hat die OSD-Ebene eine Standardtransparenz, da sie ein Video überlagern soll. Was wird zum Beispiel in STB-Boxen verwendet. So können Sie die Transparenz für jedes 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 

Für weitere Informationen überprüfen Sie die folgende github issue setzen müssen.