A Fedora system usually begins its boot process with a startup screen (or menu) displayed by the bootloader Grub. The background for this screen is provided by the wonderfully talented Fedora artTeam. The image is in the file /boot/grub/splash.xpm.gz from the package fedora-logos.
Customizing your boot screen with a favorite photo, your company logo, or even a cartoon is quite straightforward:
Prepare a suitable image. The image must be 640x480 pixels and have a maximum of 14 colours, because the VGA mode used during boot has a resolution of 640x480 pixels with 16 colours and 2 colours are reserved for text (white and black). If you're using the Gimp graphics editor, simply ensure that your image is 640x480 pixels (the titlebar of the image window displays the image size) and then select the menu option Image>Mode>Indexed, entering 14 as the "Maximum number of colours".
Save the image to your /boot/grub directory with an extension of .xpm.gz
Edit your /boot/grub/grub.conf file so that the splashimage entry points to our new image file. This path will be relative to the start of the /boot partition, so /boot/grub/myimage.xpm.gz would be written as (hdX,Y)/grub/myimage.xpm.gz (where X is the BIOS/Grub disk number and Y is the BIOS/Grub partition number).
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/concord3/f8root # initrd /initrd-version.img #boot=/dev/md0 default=0 timeout=5 splashimage=(hd0,0)/grub/myimage.xpm.gz hiddenmenu title Fedora (18.104.22.168-137.fc8) root (hd0,0) kernel /vmlinuz-22.214.171.124-137.fc8 ro root=/dev/concord3/f8root rhgb quiet initrd /initrd-126.96.36.199-137.fc8.img title Fedora (188.8.131.52-115.fc8) root (hd0,0) kernel /vmlinuz-184.108.40.206-115.fc8 ro root=/dev/concord3/f8root rhgb quiet initrd /initrd-220.127.116.11-115.fc8.img
Reboot to see the result.
The XPM format used by Grub is very unusual: it's actually a snippet of C source code containing an ascii-to-colour translation table and the image encoded as ASCII art. You can see this by using gunzip to decompress the file and then viewing it as text.
Tips on preparing a grub splash image:
Choose an image with a small number of colours to avoid excessive dithering or solarization when converting to indexed format.
Grub displays text in white with a black drop-shadow, so it should be visible against any colour background -- but it it's best to avoid white or really light colours for maximum readability.
I've always had a hard time recreating splash screens that would make my sites legal, and even though this doesnt quite pertain to the area of splash screen i'm talking about i found your blog to be very informative.