Sep 25

Adding a Startup Movie to your Raspberry Pi

Hey All,

So I’ve been playign with trying to do a boot image or a boot movie with the Raspberry Pi for a while now, and all the comments and tips keep going back to a tutorial on how to boot a static image.  It works, but there are a lot of problems with it like failing gracefully and not returning the console window back if you aren’t booting to X.  So I decided to come up with another way.  This is based off the tutorial found here: http://www.edv-huber.com/index.php/problemloesungen/15-custom-splash-screen-for-raspberry-pi-raspbian and looks like this when finished:

Instead of using the program fbi, we will use omxplayer to playback a video file while the Raspberry Pi is booting in the background.

First off, you will want to copy the 15 to 20 second movie file to your Raspberry Pi device.  Anything shorter and the video will end before it’s finished booting and you will continue to see the kernel messages.  You can use any video file that omxplayer can play back, but I like .mov and .mp4 files.

  • You will need to edit your /boot/cmdline.txt file:
    • sudo nano /boot/cmdline.txt
  • Add quiet to the end of the line. It will look something like this:
    • dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet
    • Make sure that is all on one line.
  • Press ctrl-x, type y to confirm save, then press enter to return to the command line.
  • Copy your video somewhere to the Raspberry Pi.  I keep mine in /home/pi/ and call the video video.mov
  • You will now need to create a startup script that will run omxplayer at bootup.  I have modified the script from the above link.
    • sudo nano /etc/init.d/asplashscreen

#! /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 () {

    omxplayer /home/pi/video.mov &  
    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

:

 

  • Press ctrl-x, y to confirm saving, and press enter to return to the command line
  • Now you need to set the file to be executable
    • sudo chmod a+x /etc/init.d/asplashscreen
  • And activate it
    • sudo insserv /etc/init.d/asplashscreen

You should now be ready to go!

Reboot your Pi and enjoy the startup movie.

-Shea