Hallo zusammen, ich habe ewig im internet gesucht und komme nicht weiter. Ich hoffe auf eure Hilfe. Ich habe einen Raspberry Pi3 mit Raspbian Stretch am laufen. Mit dem raspbian package plymouth habe ich einen eigenen Bootscreen am laufen. Dieser besteht einfach nur aus einem Bild, welches angezeifgt wird. Dazu verwende ich das mitgelieferte plymouth theme "pix" und habe nur das vorgegebene Bild durch mein eigenes ersetzt. Funktioniert alles so weit. Ich habe jedoch das Problem, das der Bootscreen (also das Bild) erst sehr spät und auch nur kurz angezeigt wird. Ich habe vorher alle sonstigen Meldungen während des Bootens deaktiviert, sodass ich bis auf den Bootscreen nur ein schwarzes Bild habe. Das Booten verhält sich derzeit wie folgt: 1. Nach dem einschalten ca. 7 Sekunden schwarzer Bildschirm 2. Dann a. 0,5 Sekunden der Bootscreen (Bild) 3. Dann noch ca. 5 Sekunden schwarzer Bildschirm, bis die GUI gestartet wird. Ich suche jetzt nach einer Möglichkeit das Bootverhalten dahingehend zu ändern, dass während es gesamten Bootprozesses möglichst lange mein Bootscreen angezeigt wird. Ideal wäre also: 1. Einschalten 2. Bootscreen 3. GUI wird geladen Ich bin mir sicher, dass man dies irgendwo im plymouth configurieren kann, finde jedoch nichts. Folgendes habe ich bisher probiert: 1. Auf https://wiki.ubuntuusers.de/Plymouth/#Anzeige-zu-kurz-oder-zu-spaet ist eine Lösung des Problems beschrieben. Jedoch hat dies leider keinen Effekt. 2. Unter /usr/share/plymouth/plymouth.defaults gibt es die EInstellung ShowDelay=0. Wenn ich dieser auf z.B. 10 erhöhe, dann erscheint garkein Bootscreen mehr. 3. Unter /usr/share/plymouth/pix/pix.script (ich verwende das pix theme) findet man das Script zu diesem Theme. Hier kann man sicherlich eine Art Wartezeit einfügen. Ich habe es hier schon mit einer For-Schleife versucht, um eine Pause zu erzwingen. Jedoch erschien auch hier der Bootscreen nicht mehr. Außerdem würde das nichts daran ändern, dass der Bootscreen erst so spät erscheint. Es muss doch irgendeine Möglicheit geben?
Plymouth wird erst sehr spät im Boot Prozess gestartet. Ich vermute, du verwendest XOrg für dein GUI. Die grafische Oberfläche lädt während einem schwarzen Screen. Evtl. hilft dir das hier weiter: https://yingtongli.me/blog/2016/12/21/splash.html
Danke für die Antwort. Ja ich verwendde Xorg.
1 | X -version |
Liefert mir: X.Org X Server 1.19.2 X Protokoll VErsion 11, Revision 0 Den Bootscreen über fbi nach deinem Link hatte ich vorher auch schon versucht. Das ganze Funktioniert auch, jedoch mit dem gleichen Verhalten wie jetzt unter plymouth. Es muss doch irgendwie möglich sein. Ok ich verstehe, das am Anfang der schwarze Bildschirm erscheint, weil plymouth erst spät gestartet wird, aber: 1. kann man plymouth nicht vrher im boot-prozess starten? 2. Dann müsste ich doch wenigstens den Bootscreen länger erscheinen lassen könne und verhindern, dass nach Anzeigen des Bootscreens schon wieder für einige Sekunden ein schwarzes Bild erscheint?
Vielleicht hilft dir das hier noch weiter: http://technico.top/index.php/2015/12/13/earliest-splashscreen-bootsplash-screen-mirroring-for-raspberry/
Da bin ich auch schon durch, leider keine Änderung. Zum Problem, dass nach dem Anzeigen des Bootscreens der Bildschirm weitere 5 Sekunden schwarz bleibt habe ich gelesen, das der plymouth-quit service durch systemcmd zu einem bestimmtem Zeitpunkt während des Bootens aufgerufen wird. Dieser Aufruf muss später erfolgen. Jemand eine Ahnung wie ich das ändern kann?
Ich hab's mit dieser Anleitung kurz getestet: https://github.com/HerbFargus/Raspberry-Pi-Scripts/wiki/Plymouth Plymouth wird auf meinem Gerät schon sehr früh angezeigt und bleibt auch relativ lange sichtbar...
Im Prinzip habe ich es genauso gemacht. Welches "Gerät" verwendest du?
Du könntest was anderes versuchen. Auf Plymouth verzichten und dein Bild als Kernel Logo verwenden. Dann wirds um einiges früher angezeigt.
Ich habe nun wieder sehr viel herumprobiert, bin aber leider nicht weitergekommen :( Mit dem Boot-Logo als Kernel Image hört sich so an als müsste ich mir dann meinen eigenen Kernel compilieren? Das geht leider über mein Wissen hinaus. Ich habe mich erst mal von plymouth verabschiedet. Noch mal zur Erinnerung: Generell funktioniert der Bootscreen ja, jedoch wird dieser zu spät beim Booten und dann auch zu kurz angezeigt. Da ich alle anderen Meldungen beim Booten ausblende, erhalte ich somit ein paar Sekunden einschwarzes Bild, dann für noch icht einmal eine Sekunde den Bootscreen und dann wieder für einige Sekunden ein schwarzes Bild, bevor dann die Oberfläche geladen ist. Ich habe jetzt gelernt, dass der Dienst Systemd für das Booten zuständig ist. Dieser läd die benötigten Service beim Booten, somit auch meinen Bootscreen. Diesen habe ich wieder über FBI relaisiert, siehe: https://yingtongli.me/blog/2016/12/21/splash.html Nach dem Systemstart sehe ich über
1 | systemctl status splashscreen |
das mein Service für den Bootscreen gestartet wurde und auch übrigens immer noch läuft. Ich habe auch schon versucht meinen Service "splashscreen " inerhalb anderer System-Targets auszuführen. Beispielhaft habe ich den Code in meinem Splashscreen von
1 | WantedBy=sysinit.target |
zu
1 | WantedBy=multi-user.target |
geändert. Es funktioniert zwar alles, aber ich habe nach wie vor die gleichen Probleme mit dem schwarzen Bildschirm vor und nach dem Bootscreen. Ürigens gibt es unter https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units eine super Einführung in Systemd. Die Frage ist jetzt, wieso wird der Bootscreen wider so früh ausgelbendet, obwohl doch mein Service "splashscreen" immer noch aktiv ist. Wenn ich dies verhindern könnte, dann hätte ich wenigstens eine längere Anzeige des Bootscreens.
Hast du eine Lösung gefunden. Ich will das selbe haben ein splashscreen der den ganzen boot Prozess überdeckt und erst endet wenn das eigentlichen Prog startet. und das alles noch über ein SPI Display.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.