Changing your grub screen

While I was fiddling with grub as part of my experiment to get rid of the graphical boot, I noticed the picture grub uses when I boot in. For Fedora Core 4 users, I’m talking about the blue screen with the words Fedora Core where grub gives you a few seconds to choose a different kernel or OS before booting in. I decided to make my own, to truly customize my computer! Afterall, that’s one of the things that REALLY attracts me to open source.

So what do we have to do? First open up The GIMP and load in the picture you want for your grub screen. Then scale it down to a reasonable size. Fedora’s file, for example is 480×640. Save it as filename.xpm.gz and then go to a term and su to root. Copy your new image to /boot/grub. Finally, edit your /boot/grub file by changing the splashimage= so that the last thing on there is the file you just created. Now reboot to see your new, customized startup!

The first time I did this, it didn’t work right – the grub screen was an evil rainbow of display problems, but the computer booted fine, so don’t worry if you mess up. So there are two things I did to make it work perfectly. First, in GIMP I clicked on Image -> Mode -> Indexed. I changed it to 14 colours as required by the spec. I also didn’t save it as an xmp.gz. When I used the command file on my original image and the one I was replacing, they were different. Mine said, a gzipped file. The original was, a gzipped file – was originally blah.. So instead, I saved it as an xpm and then used the gzip command to zip it. So it worked exactly as it should after that.

In case you may not have noticed, since you have to reduce the number of colors in the image to 14 (from millions in a JPEG), it’s best to choose a simple image, not a one with lots of subtle shade variations. With a bit of practice you’ll get it right!