HOWTO: Splash Images with GRUB2 and GRUB-PC on Debian Linux
Purpose: This post is a follow-up of my previous post which had explained how to install GRUB splash images with “grub” package (legacy one). Couple of people requested to show how to do this with the new version of GRUB i.e. GRUB2 or GRUB-PC. So in this article we will learn how to install GRUB splash images with GRUB2. Actually GRUB2 is just a transitional package, the real package name is GRUB-PC.
Assumptions: Before going ahead, I would like to state some assumptions that I have made. To get the best results it would be nice if you also have the exact same setup.
- Debian Lenny installed
- You were able to install the GRUB splash images for the previous (old) version of GRUB as explained in my last post.
- GRUB – older version
- GRUB2 and GRUB-PC – New version of GRUB
Step 1: Install GRUB2
We first need to install GRUB2 package giving the following command:
# apt-get update
# apt-get install grub2
During installation you will be given some warning, just say “Ok” and let the installation continue. Once the installation is complete go to Step 2.
Step 2: Install Splash Images for GRUB2 package
#apt-get update
#apt-get install grub2-splashimages
Step 3: Check out the new images installed
The new GRUB2 splash images are installed at:
# ls /usr/share/images/grub/
Output:
050817-N-3488C-028.tga Glasses_800_edit.tga
2006-02-15_Piping.tga Hortensia-1.tga
Aesculus_hippocastanum_fruit.tga Lake_mapourika_NZ.tga
Apollo_17_The_Last_Moon_Shot_Edit1.tga Moraine_Lake_17092005.tga
B-1B_over_the_pacific_ocean.tga Plasma-lamp.tga
BonsaiTridentMaple.tga Sparkler.tga
Flower_jtca001.tga TulipStair_QueensHouse_Greenwich.tga
Fly-Angel.tga Windbuchencom.tga#
Step 4: Reboot and some installation notes
Now if you reboot your computer you should still get your old grub screen as follow:

Screen Showing GRUB2 Menu
As you can see that installing GRUB2 does not overwrite your current GRUB installation which is very good. This will allow you to test the GRUB2 before you can overwrite your older GRUB installation.
From the above image, the first line says “Chainload into GRUB 2″ which basically means that you can launch GRUB2 now and see if your system boots fine. At this point of time you can also boot into your system in the regular way by selecting the kernel listed as seen above. If you do that then you will be using your older GRUB installation.
Also once you are satisfied that GRUB2 works then you can select the second option, “upgrade-from-grub-legacy“, as show in the image above and you will be overwriting GRUB.
Step 5: Select “Chainload into GRUB 2″
Once you select this, you should get the following screen:

Congratulations! If you are able to see something like above, then your GRUB2 installation has been successful and also with this your default GRUB2 splash image is also installed.
Step 6: Change the GRUB2 splash image
Now we will see how we can change the default GRUB2 splash image. First select the image file that you want to install from the following locations:
/usr/share/images/desktop-base/
/usr/share/images/grub/
For this example, I have selected “Plasma-lamp.tga” from /usr/share/images/grub/.
Now edit the file following file:
# nano /etc/grub.d/05_debian_theme
and change the following line from:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga}
to
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/Plasma-lamp.{png,tga} and save the file.
This basically tells GRUB2 to look for image name “Plasma-lamp” in the locations:
/boot/grub
/usr/share/images/desktop-base
/usr/share/images/grub
Now you need to regenerate the grub.cfg file by giving the following command:
# update-grub
Updating /boot/grub/grub.cfg ...
Found Debian background: Plasma-lamp.tga
Found linux image: /boot/vmlinuz-2.6.26-rt1-rt
Found initrd image: /boot/initrd.img-2.6.26-rt1-rt
Found linux image: /boot/vmlinuz-2.6.26-1-686
Found initrd image: /boot/initrd.img-2.6.26-1-686
Found linux image: /boot/vmlinuz-2.6.25-2-686
Found initrd image: /boot/initrd.img-2.6.25-2-686
done
#
Step 7: Reboot the system
After rebooting again select the option “Chainload into GRUB 2″, and now you should see your new GRUB2 splash image like this:

Enjoy your new shiny sparkling GRUB2 splash image.
Step 8: Further customization
You can further customize the text color and all by editing the file:
/etc/grub.d/05_debian_theme
That’s it. We are done here.
Additional Notes:
- The file /boot/grub/grub.cfg is equivalent of /boot/grub/menu.lst of the old GRUB. This file is self-generated by the command “update-grub” and upgrade-grub2″. Both these command do the same thing.
- Do not select the option “upgrade-from-grub-legacy” before verifying that the GRUB2 loads your OS properly.
- You can create your own customized GRUB2 splash screen by using the script “commons2tga.pl” located at usrsharedocgrub2-splashimages
As usual, please leave a comment/feedback, if you have any. Nothing encourages a blogger more than comments/feedback.
The test king offers online testking 640-802 training program to help you pass your exams on time. Get promising success in real exam with testking 70-680 course.


Email Subscription









April 4th, 2009 at 6:32 am
Wonderful how to
Reply to this comment
April 17th, 2009 at 4:18 am
Big thx, dude.
Reply to this comment
April 20th, 2009 at 12:40 pm
Dear Sir,
This tutorial is marvelous, and furthermore the only one complete and clear on the subject.
Manpages are installed on my system but there doesn’t seem to be any complete information on how grub2 or grub-pc can be configured.
Thank you so much again.
Alejandro
Reply to this comment
Admin Reply:
April 20th, 2009 at 12:46 pm
Thank you for your comment!
It was quite encouraging!
Reply to this comment
May 13th, 2009 at 3:10 pm
Hi,
do you have any idea how to set a working default entry for grub2?
Seems like my setup is only booting entry 0 (xubuntu 9.04)
there are 2 entries for xubuntu, followed by 2 memtest entries and finally windows.
I want grub to boot to windows by default.
Setting default to 5 doesn’t work.
any help would be welcome since the documentation is lacking to say the least…
Reply to this comment
July 16th, 2009 at 1:11 pm
Could you share your entries in sources.list that has the Grub2-splashimages package for the benifit or myself and others who wish to use this tutorial and may not have the required server address for that package.
Reply to this comment
July 16th, 2009 at 1:22 pm
Nevermind, found the info myself. Should have google’d first instead of being lazy.
Add one of these lines to the END of your apt sources.list
(Europe server)
deb http://ftp.de.debian.org/debian lenny main
or
(North America server)
deb http://ftp.us.debian.org/debian lenny main
or
(Asia server)
deb http://ftp.jp.debian.org/debian lenny main
Using
Nano /etc/apt/sources.list
to edit the file
Reply to this comment
Admin Reply:
July 16th, 2009 at 1:26 pm
That’s right. It is available from the Debian Lenny stable repo.
Reply to this comment
July 16th, 2009 at 1:34 pm
Thanks for the really helpful tutorial. Good job.
Reply to this comment
July 28th, 2009 at 9:31 am
[...] http://linux.koolsolutions.com/2008/12/16/how-to-grub2-and-grub-pc-installing-splash-images/ [...]
August 11th, 2009 at 9:08 am
Great Tutorial … but I kinda like your Debian Grub .97 screen the best .. LOL
Reply to this comment
September 26th, 2009 at 6:04 pm
Your posts are the best! Always helpful!
Reply to this comment
October 5th, 2009 at 12:45 pm
These Grub2 splash screens are junk, I can’t imagine who would would want to use these that is a REAL LINUX GEEK!
Come on where are some REAL LINUX splash screens for this darn thing, or a TUT to tell us how to make these .tga images, because Grub2 won’t work on a .png I used.
I’m sorry for all the effort someone put into these, but they remind me of all the typical wallpaper websites out there with all their crap wallpaper images too!
Reply to this comment
October 8th, 2009 at 10:54 pm
In Grub2, I have set a new splash image but am unable to change the size of the rectangle box. In the old Grub we could do this with the viewport command. What is the equivalent setting in Grub2. Pls help
Reply to this comment
October 28th, 2009 at 6:15 am
For a most comfortable change of splash image you can change the 05_debian_theme by
1/ Adding
. /etc/default/grub
in the beginning
2/ change the line:
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/fond-grub.{png,tga} ; do
by:
for i in $(eval “echo {${GRUB_BACKGROUND_PATH}}/${GRUB_BACKGROUND_FILE}.{${GRUB_BACKGROUND_TYPE}}”) ; do
3/ Adding in /etc/default/grub
GRUB_BACKGROUND_PATH=”/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub”
GRUB_BACKGROUND_FILE=”Your_Background”
GRUB_BACKGROUND_TYPE=”png,tga,jpg,jpeg”
Reply to this comment
November 2nd, 2009 at 1:19 am
Nice article on GRUB2 and GRUB-PC.I have recently lost my data from Linux OS. With the help of Stellar Phoenix Linux data recovery software I am able to recover my lost linux data.
For more details visit
http://www.data-recovery-linux.com/
Reply to this comment
December 11th, 2009 at 8:56 pm
[...] sitografia: Grub 2 – Ubuntu Wiki https://wiki.edubuntu.org/Grub2 http://linux.koolsolutions.com/2008/12/16/how-to-grub2-and-grub-pc-installing-splash-images/ [...]
December 15th, 2009 at 8:16 am
Hello,
Very good article !
Do you know how to change the police and the size of the text in 05_debian_theme file or in other files ?
Is it possible ?
Reply to this comment
January 3rd, 2010 at 2:36 am
the article was good and easy to follow but my “update-grub” didnt
pick up the debian image so I am stuck to the old B/W theme
Reply to this comment
January 10th, 2010 at 8:01 pm
FWIW – SID + GRUB2 doesn’t need you to modify the files in /etc/grub.d/
Instead create the file /usr/share/desktop-base/grub_background.sh
It should assign appropriate variables to get /etc/grub.d/05_debian_theme to do your bidding. Here’s mine; modify as needed:
#! /bin/bash -e
#
# Hal’s /boot/grub.d/05_debian_theme extension
#
WALLPAPER=”/boot/grub/sunset.png”
COLOR_NORMAL=”black/black”
COLOR_HIGHLIGHT=”magenta/black”
GRUB_TERMINAL_OUTPUT=”gfxterm”
That’s it. As I remember, you *need* the assignment of GRUB_TERMINAL_OUTPUT to gfxterm!
Reply to this comment
January 10th, 2010 at 8:01 pm
FWIW – SID + GRUB2 doesn’t need you to modify the files in /etc/grub.d/
Instead create the file /usr/share/desktop-base/grub_background.sh
It should assign appropriate variables to get /etc/grub.d/05_debian_theme to do your bidding. Here’s mine; modify as needed:
#! /bin/bash -e
#
# Hal’s /boot/grub.d/05_debian_theme extension
#
WALLPAPER=”/boot/grub/sunset.png”
COLOR_NORMAL=”black/black”
COLOR_HIGHLIGHT=”magenta/black”
GRUB_TERMINAL_OUTPUT=”gfxterm”
That’s it. As I remember, you *need* the assignment of GRUB_TERMINAL_OUTPUT to gfxterm!
Reply to this comment
June 20th, 2010 at 10:45 am
“Now you need to regenerate the grub.cfg file by giving the following command:
# update-grub”
is this right?? dont you need to run
#update-gru2
instead of update-grub?
Reply to this comment
June 20th, 2010 at 10:46 am
*update-grub2
sorry
Reply to this comment
September 2nd, 2010 at 5:06 pm
Well done. Th best guide i’ve find to this job. Very usefull for me. Many thnks to you
Reply to this comment
September 17th, 2010 at 2:29 am
A number of from the pictures aren’t displaying correctly but, the internet site still looks extremely. I’ve been visiting this website for a couple of weeks now and i’m very impressed with the content material. What will be rss address?
Reply to this comment