Raspberry Pi – eigener Splashscreen
Wenn der Raspberry Pi bootet, dann wird in der Konsole übersichtlich alles aufgelistet was wann mit welchem Status gestartet wird. Das ist bei Linux nett, da man immer prüfen kann wo der Bootvorgang Probleme bekommt oder abbricht, aber für den normalen Benutzer macht das wenig Sinn. Viel schöner wäre hier ein Bootscreen, auch Splashscreen genannt. Einen solchen kann man relativ einfach ohne großen Aufwand einrichten. Was man braucht ist ein Bild in HDMI Auflösung (1920×1080).
Splashscreen für den Raspberry Pi
Ein eigener Splashscreen ist ein tolles Branding, falls man eine Software oder ein Produkt mit dem Raspberry Pi entwickelt. Beispiele bei denen solch ein Bootscreen eingesetzt wird ist zum Beispiel Raspbmc.
Installation
Für den Screen benötigen wir ein Programm, welches wir mit folgendem Kommando installieren:
sudo apt-get install fbi
Fbi heißt Frame Buffer Imageviewer und wird benötigt um bereits beim Bootvorgang ein Bild darzustellen.
Splashscreen
Als nächstes benötigen wir ein Bild, welches wir anzeigen lassen. Wichtig ist, dass es mit Full HD Auflösung (1920×1080) bereitsteht. Wer keines hat kann gerne mein Testbild herunterladen. Installieren kann man das zum Beispiel am Laptop oder PC über scp, welches das Bild über das Netzwerk auf den Raspberry Pi kopiert:
scp splash.png pi@192.168.1.4:splash.png
Alternativ könnt ihr auch am Raspberry Pi einen Browser öffnen und direkt das Bild von dieser Seite herunterladen. Das Bild muss dann noch in den /etc Ordner kopiert werden:
sudo mv splash.png /etc/
Das Script
Der letzte Schritt ist noch ein Startscript, welches das Bild auf den Bildschirm bringt. Ein solches kann zum Beispiel mit
sudo nano asplashscreen
angelegt werden. Als Inhalt kann das folgende Script hinein kopiert werden. Achtung: bitte das Script überprüfen, dass keine Sonderzeichen oder Fehler über SSH entstehen.
#! /bin/sh ### BEGIN INIT INFO # Provides: asplashscreen # Required-Start: # Required-Stop: # Should-Start: # Default-Start: S # Default-Stop: # Short-Description: Show custom splashscreen # Description: Show custom splashscreen ### END INIT INFO do_start () { /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png exit 0 } case "$1" in start|"") do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) # No-op ;; status) exit 0 ;; *) echo "Usage: asplashscreen [start|stop]" >&2 exit 3 ;; esac :
Wenn das Script gespeichert hat muss es noch in den korrekten Ordner kopiert werden:
sudo mv asplashscreen /etc/init.d/asplashscreen
Der Name ist nich zufällig beginnend mit a gewählt. So soll sichergestellt werden, dass es gleich zu Beginn geladen wird. Der letzte Schritt ist nun noch, dass man das Ausführungsrecht setzt und noch als Bootscript einstellt.
sudo chmod a+x /etc/init.d/asplashscreen sudo insserv /etc/init.d/asplashscreen
Nun einfach neu Starten und am angesteckten Full HD Monitor den Splashscreen bewundern. Viel Spaß!
„Was man braucht ist ein Bild in HDMI Auflösung (1920×1024).“
FullHD ist eigentlich 1920x1080p.
da hast du allerdings recht!
Hallo Werner,
funzt gut…
aaber…
bin nicht soo (fast gar nich:-( )firm im scripten.
nachdem das Splashbild angezeigt wurde wird der Bildschirm dunkel und ich muss auf da Terminal 2 gehen um mich einloggen zu können.
Hab ich da einen Fehler gemacht oder ist das so beabsichtigt?
Wenn ja warum wird das Bild dann nicht weiterhin gezeigt?
Gruss vomm Tomm:-)
hat sich…
wer lesen kann ist klar im Vorteil:-))
Was war denn der Fehler? die Bildgröße?
Ich mus gestehen ich hab es mit Linux und Co. nicht so. Deine Anleitung war super. Klappt auch alles bis zum letzten Punkt. Wenn ich den ausführen möchte bekomme ich die Meldung „insserv: warning: script ‚mathkernel‘ missing LSB tags and overrides“
Hat jemand einen Tipp?
die Meldung bekomme ich auch. k.A. was es damit genau auf sich hat, es funktioniert trotzdem. Bei dir nicht?
Gehen auch .gif Dateien? Weil die kann man ja animieren
Gute Frage. Am besten einfach ausprobieren. Bitte um Information ob das funktioniert, das eröffnet dann ja ganz neue Möglichkeiten.
PhotoCD, jpeg, ppm, gif, tiff, xwd, bmp and png are supported directly
Hallo
Bei mir wird der Bildschirm auch nach dem Bild schwarz. Was kann da der Fehler sein?
Kurze Frage,
wenn ich das nutze habe ich anschließend links oben immer ein kleines schwarzes rechteck das nicht weggeht!
Hat wer ne idee?
Bei mir dasselbe, keiner ne Idee?
Hab die Lösung!:
Bei der Datei: sudo nano asplashscreen flogendes Abändern:
Statt fbi -T 1 –> fbi -T 2
Das Wars!
auch wenn der post schon etwas älter ist:
alles funktioniert bei mir wunderbar für HDMI. Ich habe jetzt aber über die GPIOs (SPI) ein TFT-Touchscreen Panel angeschlossen, hier bekomme ich wieder den „normalen“ Linux Bootvorgang zu sehen. Gerade hier wäre jedoch ein Splashscreen beim booten notwendig, da man sowieso nicht wirklich was lesen kann. Bitte um Hilfe 😀
Hallo,
super Tutorial, klappt einwandfrei.
Habe allerdings das PRoblem, das mein Raspberry wohl ziemlich schnell startet und ich den Splashscreen nur für ca. ein halbe Sekunde zu sehen bekomme!
Gibt es eine Möglichkeit das ganze zu verlängern auf so ca. 10 Sek.?
Habe schon versucht in dem Skript einfach ein sleep 10 reinzupacken, aber das wird offenbar ignoriert!
Gruß Fredo
Hy,
also das Klappt ja schon recht gut …
Das Logo wird sauber angezeigt also alles Perfekt:
allerdings werden am anfang auf dem ersten bildschirm noch 4 x das Raspberrylogo angezeigt erst auf der 2ten bootseite kommt mein logo, kann man den erstens screen noch irgendwie abschalten ?
Die raspberrylogos kann man mit dem zusätzlichen “ logo.nologo“ (ohne die „) in der /boot/cmdline.txt entfernen.
hi, der fbi lässt sich so nicht downloaden (bricht mit Fehlermeldungen ab) – gibt es eine andere Möglichkeit?
poste doch mal die Fehlermeldung…dann kann ich dir vielleicht helfen.
moin,
leider kann ich die 2. Zeile vom letzten Schritt nicht ausführen: command not found..
das wird offenbar in der aktuellen Version von Raspbian nicht mehr verwendet. Schon mal probiert das mit apt zu installieren?
An dem Schritt mit insserv häng ich leider auch.
Hat hier jemand noch einen Tipp für die aktuelle Raspbian-Version?
Hallo, also ich versuche es schon seit Tagen, aber ich komme nicht weiter als Schritt 1 danach geht nichts mehr. Hat es bis jetzt jemand geschafft mit einem Raspberry PI3 B das zum laufen bekommen ? Falls ja wäre Ich über jede Hilfe sehr dankbar.
bei dem inserv befehlt ist bei mir auch ende …
insserv: FATAL: service mountkernfs has to exists for service udev
insserv: FATAL: service urandom has to exists for service networking
insserv: FATAL: service mountdevsubfs has to exists for service hwclock
insserv: FATAL: service udev is missed in the runlevels 2 3 4 5 to use service raspi-config
Ja habe das gleiche Problem. Ich musste zuerst sogar sudo apt-get Install Insserv machen …
Dann kommt jedoch wie bei dir die gleichen Meldungen …