Replacing a GRUB background that uses gfxmenu penguins

I just replaced the winter scene with this, penguins still work too
http://linux.alltechdevelopment.ca/planetary.jpg
Steps I took:

  1. open super terminal
  2. cd /boot
  3. mkdir message1
  4. cd message1
  5. cpio -i < …/message
  6. exit
  7. open /boot/message1/pback.jpg in gimp
  8. Used a background image 800 x 600 (same size as pback.jpg )
  9. Used gimp to design visual objects to align with those in pback.jpg
  10. saved out as flat image (no layers) as pback.jpg
  11. exit gimp
  12. open terminal again
  13. cd /boot/message1
  14. ls >> filelist
  15. cpio -o < filelist > …/message
  16. exit & reboot

Don’t know how to change the penguins positions but upon reboot
my new grub display comes up with the menu and penguins moving intact.

hope this is of interest.

Alternative:
One could create winter, Summer, Spring, Fall, Easter, Christmas, Back-to-school etc scenes and use this script to fetch the original gfxmenu as root

#! /bin/bash
cd /boot
mkdir message1
cd message1
cpio -i < ../message
ls >> filelist
cp pback.jpg penguin_original.jpg

Then copy the new backgrounds with

cp /home/<user>/picture/grubs/*.* ./

And switch them on the fly with newgrub <picturename.jpg> as root

#! /bin/bash
cd /boot/message1
cp %1 pback.jpg  # copy the named picture over the original file
cpio -o < filelist > ../message

At the next reboot, the GRUB splash screen will be replaced with the new one and the penguins will show (if you have penguins set to > 1% probability with gfxboot --change-value penguins=100 or whatever percent you wish.