Custom Splash Screen for Raspberry Pi (Raspbian)

I found this solution for creating a custom splash screen for the Pi.

Custom Splash Screen for Raspberry Pi (Raspbian) – EDV-Huber.com.

I’m cutting-and-pasting here just in case it disappears on it’s home site.


This is a quick and dirty solution for an unanimated custom splash screen during boot.

First of all, you need to install fbi:

apt-get install fbi

Copy your custom splash image to /etc/ and name it “splash.png”.

Next, create an init.d script called “asplashscreen” in “/etc/init.d/”.

I chose “asplashscreen” with an “a” at the beginning to be sure it starts first.

#! /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

Then make that script executable and install it for init mode rcS:

chmod a+x /etc/init.d/asplashscreen
insserv /etc/init.d/asplashscreen

Reboot and watch your custom splash screen:

reboot

17 comments for “Custom Splash Screen for Raspberry Pi (Raspbian)

  1. I get a terminal cursor (little black rectangle) in top left corner over “screenley” which is a sort of automated digital signage software for pi. It simply runs a fullscreen uzbl browser. I love this method to hide boot code with a cool logo, any ideas why this would interfere ?

    • Sorry, I don’t know why that would interfere. All I would say is that I’ve seen very rare periods where the splash screen doesn’t clear when it’s supposed to, so I suppose that could be the problem.

    • Hi,
      I have the same problem. I get the little black rectangle when I automatically run startx at boot time. Furthermore I get the same problem when I run, in the same manner, a python code that uses pygame graphics features. Is this a fbi known bug? Have you got a solution?

  2. Hi there, thanks for providing this post. Would you please help me out on the following. If I do all of the above it doesn’t work. At boot it gives me the following error:
    /etc/init.d/asplashscreen: 16: /etc/init.d/asplashscreen: /usr/bin/fbi: not found.
    however, I am sure that they are there because once booted up I can see the FBI executable and the asplashscreen script and the latter once is made executable with the following commands:
    insserv /etc/init.d/asplashscreen
    chmod a+x /etc/init.d/asplashscreen.

    Any thoughts?
    Thanks in advance.

    • There are two possibilities here… It’s _either_ the OS reporting that fbi doesn’t exist _or_ it’s fbi reporting that the graphic file does not exist. Just make sure that the splash file actually exists in /etc and that it’s spelt right!

      To cope with fbi not existing… First off, try:

      apt-get install fbi

      again.and make sure it’s definitely installed. The next thing is to check the permissions of fbi. Do:

      sudo chmod a+x /usr/bin/fbi

      just to make sure.
      Then try booting again.

  3. Hi,
    How to change to raspberry pi logo to my custom logo and after booting is complete i want to add some text..how to this..please tell me what changes iam done?please tell me..

    Thanks&Regards,

    K.Arungopal

    • Customisation of the little boot logo and anything else like this has to be changed in the Kernel which then has to be recompiled. Do a search for this kind of thing either on Google or on the Raspberry Pi Foundation forum.

  4. To rid yourself of the annoying little black rectangle do the following, its only a work around but it does work.
    Create a script, mine starts my kiosk as well so is called /home/user/screen.sh
    this script should look like:

    #!/bin/bash
    startx –help
    while true; do chromium –kiosk –incognito –enable-plugins http://your web address here.html;sleep 180s;done

    The 2nd line is my kiosk – you probably wont need it but I put it there anyway.

    Then add the following line

    @/home/pi/screen.sh

    to the file:

    /etc/xdg/lxsession/LXDE/autostart

    Reboot and watch the splash screen followed by a brief black flash and then your screenly, kiosk, or whatever your running without the black rectangle.

  5. I have now tried to make a custom splash screen, but I get this message:

    insserv: warning: current start runlevel(s) (empty) of script `asplashscreen’ overrides LSB defaults (S).

    insserv: warning: current stop runlevel(s) (S) of script `asplashscreen’ overrides LSB defaults (empty).

    Anyone got any idea whats wrong?

  6. hello.. this is not workiing for .. every time i run and aactivate it i get a warning like [insserv;warning; script ‘mathkernal’ missing LSB tags and overrides].. how can i resolve this error .. pleas help me.. thank you..

  7. to replace the Screenly©™ boot time splash screen: replace splashscreen.jpg in /etc with your own 1920×1080 jpg asset

    Screenly©™ web interface @ http://dev-ip:8080/settings lists a splashscreen that can be disabled but I have never seen it because I disable before observing what it is, possibly refers to screenly_ose_logo_large.png in /home/pi/screenly/static/img

    happy trails

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.