I found out how to add my own grub splash screen. I'm sure most of you already know this stuff - but I'm proud.
First the picture you want to be your splash screen must
be resized exactly to 640x480. If it is not then it will either not display properly or grub will not be able to read it and will give an error.
You must then have the colors indexed down to only 14 colors.
Select: Generate Optimum Palette
Set: Maximum number of colors to 14
Now save the picture to .xpm format anywhere you like under any filename you like (keep it simple with "splash.xpm" if you want).
Now I recommend you copy the file to /boot/grub/. this way you don't have to remember where you put the thing.
gzip your picture
Edit the /boot/grub/menu.lst file
If your grub already has a splash image look for the entry with 'splashimage' and change it to point to your new splash image.
If your grub doesn't have a splash image you will have to add a line like this:
Notice my splashimage is called psych_flower - it doesn't really matter what you name it.
The hardest part is determining what to use for (hd0,0). I just looked to see where it pointed to boot my system and guessed that. My setup is simple just one OS to boot - so not much to guess about. If you have problems you will have to look around to find out what put there.
If you want to make sure you didn't screw up your grub boot loader you can run:
It appears to just do some basic checks and makes sure everything is there and that menu.lst is readable. It will always say:
Searching for splash image... Found (blah, blah, blah).
even if your are wrong about the (hd0,0) part. So it doesn't appear to do any deep checking.
Reboot and your set.
P.S. I did some checking and SuSe 10 doesn't have a 'update-grub' utility so your distro may not have this. All this was done on debian etch.