How to design and test a ["Grub"] SplashImage.
Grub v2 SplashImage
Debian/Lenny 's grub-pc is ready to display a graphical screen (grub v1.95 is also known as version 2, it's called grub by upstream ).
Image constraints :
file format : .tga
- 640x480 pixels (you can change this, for instance 1024x768)
- 16millions colors (24 bits).
- The text layout is fixed (including the frame).
- Specify a black background in "set menu_color_normal", in order to make grub menu transparent.
In order to make it easier to draw your image, I've created two templates with a transparent layer containing what grub will overlay...?BR So you know how to positions elements, and how everything will fit... It should save you quite some time.
Grub v2 Template Overlays |
|
XCF (Gimp) |
SVG (Inkscape...) |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_gimp-overlay-thumb.png,http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_gimp-overlay.xcf.gz,width=160) |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_svg-overlay-thumb.png,http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_overlay.svg,width=160) |
Grub v1 SplashImage
Debian/Etch 's grub is ready to display a graphical screen (grub v0.97 is also known as version 1, it's called grub-legacy by upstream ).
Image constraints :
file format : .xpm
- 640x480 pixels (you can't change this)
16 colors (only 14 are available for your image, or 15 if all your background is black ).
- The text layout is fixed (including the frame).
In order to make it easier to draw your image, I've created two templates with a transparent layer containing what grub will overlay...?BR So you know how to positions elements, and how everything will fit... It should save you quite some time.
Grub v1 Template Overlays |
|
PNG (Gimp) |
SVG (Inkscape...) |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_png-overlay-thumb.png,http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_overlay.png,width=160) |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_svg-overlay-thumb.png,http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_overlay.svg,width=160) |
Of course, The first thing you should do is to change the ugly, grey background
Convert to xpm
There are many ways...
Open the image (svg, scp, etc..) with GIMP, then change the image mode to index, 15 colors, then save as xpm. (note, the resulting may get distorted).
or Use imagemagick to convert the format (see the "Test with QEMU" below).
Test with QEMU / KVM
There's a floppy that is ready to test your graphics :
- Download and uncompress the floppy image (You'll have to do it once only).:
cd ~/ wget http://www.klabs.be/~fpiat/linux/boot/grub/grub_0.97-28-debian.floppy.gz gzip -d grub_0.97-28-debian.floppy.gz
- Test you splashimage (mount the floppy image, Convert your image, unmount the floppy, launch qemu)
mount ~/grub_0.97-28-debian.floppy /mnt -o loop rsvg-convert < ~/fp-debian(grub)-discret.svg > /tmp/temp_grub.png convert /tmp/temp_grub.png -resize 640x480 -colors 14 +dither /mnt/boot/grub/splashimages/test.xpm umount /mnt qemu -fda ~/grub_0.97-28-debian.floppy
note 1 : you must unmount to sync the data to the floppy-image file.
note 2 : "+dither" actually means "don't dither" !
rsvg-convert belongs to the package librsvg2-bin
convert belongs to the package imagemagick
- You may want to press Ctrl-Alt-F to switch qemu to Fullscreen mode, for a better "preview".
- Check qemu "screendump" command to make a screenshot.
Add your Debian splashimages for Grub
Debian provide some images in grub-splashimages. Here are some other contributions.
Grub v1 Preview |
Grub v2 Preview |
Author |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian%28grub%29-discret-thumb.png,width=160)?BR [http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian%28grub%29-discret.svg svg] [http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian%28grub%29-discret.xpm.gz xpm] |
None |
Franklin Piat (GPL license) |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian-shines-thumb.png,width=160)?BR [http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian-shines.svg svg] [http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian-shines.xpm.gz xpm] |
?ImageLink(http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines_thumb.png,http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines_preview.png,width=160)?BR [http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines.svg svg] [http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines.tga tga] |
Franklin Piat (GPL license) |
See also: