Making your own GRUB splash

Since I don’t use the default Zenwalk boot loader, lilo, I was left with the rather boring black and white GRUB interface at boot. If you only use one OS you can safely set timeout to null (0) or use lilo instead, but I need to have the option of booting alternative OS’es. But how could I mend the woeful and cold command-line ?
Answer: Add a splash to the damn thing!
I used the simple instructions from the Gentoo wiki’s HOWTO Splash Image in GRUB:

Manipulating existing image
You can pick any image type supported by ImageMagick and execute:

# convert picture.jpg -resize 640x480! -colors 14 -depth 8 ImageName.xpm.gz

Creating a new image (GIMP)

  1. Start the GIMP. 
  2. Click on File » New or type Ctrl+n 
  3. In the new image dialog, change Width to 640 pixels and Height to 480 pixels (the image should be of size 640×480 pixels). Now click OK. 
  4. Create the image which you would like to be the splash image. It’s quite fun to experiment with the various tools of the GIMP! 
  5. After you have finished creating the image, hit Alt+i or right click on the image and click on Image » Mode » Indexed. 
  6. In the Indexed Color Conversion dialog that appears, click on the radio button Generate optimal Palette and in # of colors enter 14. Click OK (the image should be of only 14 colors). 
  7. Now right-click on the image and click on File » Save As…. Save the file as ImageName.xpm in a directory of your choice. If you can’t create ImageName.xpm you can save it as ImageName.png and then convert it with convert ImageName.png ImageName.xpm (convert is a part of imagemagick). 
  8. Open a terminal, change directory to where the ImageName.xpm was saved, then compress it using GNU-zip: gzip ImageName.xpm 

But be careful if you create you work with GIMP under Windows. It will use the standard Windows newline CR+LF. Nethertheless it seems as if GRUB can only cope with plain LF newlines. You have to convert the lineformat manually.

Installing the Image
Make sure you are root and that /boot is mounted, then run the following:

# mv ImageName.xpm.gz /boot/grub/

In the /boot/grub/grub.conf you have to point splashimage to newly created image i.e.:

# Splash Image
splashimage=(hd0,0)/grub/ImageName.xpm.gz

That’s it! When you reboot, you will find your image in the background, with the menu of operating systems etc. in the foreground.

Here are some examples I made in two hours:

zwgrub-2 Zenwalk/GRUB bootsplash
Dolphins GRUB splash for Zenwalk Linux

zwgrub-simple in use
Simple GRUB splash I made for Zenwalk

Read the wiki above to see how to change default colors too. Note that the rights of the image sources allow non-commercial use! I have an active thread on the Zenwalk support forum, Zenwalk GRUB bootsplash, where I’m posting new GRUB splashes as I make them with download and installation instructions.

2 thoughts on “Making your own GRUB splash”

Leave a Reply

Your email address will not be published. Required fields are marked *


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