I have tried to add a custom splash screen to my Raspberry Pi B+, in order to replace the logs during the boot with a custom video, using the hints from the following website:
http://blog.sheasilverman.com/2013/09/adding-a-startup-movie-to-your-raspberry-pi/
which says the following:
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
Instead of using the program
fbi
, we will useomxplayer
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 videovideo.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.
So, I have followed these instructions, step by step, connected via HDMI to TV, but unfortunately, there's a problem:
The splash video is played only after all the boot logs! I mean, I see all the boot logs for about 30-40 seconds (slower than the usual boot), and then when the boot is done, the splash video begins to play, just before the login appears!!
I have used this method, so as to replace the boot logs with a custom splash video, but unfortunately the boot logs still appear on screen.
It's worth mentioning that according to this comment on that website, I also replaced the quiet
at the the end of the cmdline.txt
file with logo.nologo loglevel=3
, but the result is the same. No Difference.
What should I do now !?
/etc/init.d/README
. As is, I don't think that script will produce a predictable start time from one system to another, although it will be consistent once installed. Obviously you want to tweak it to try for an early slot and re-install. You could also just manipulate the symlink prefix in/etc/rcS.d
.