Differences between revisions 8 and 9
Revision 8 as of 2008-01-21 08:25:44
Size: 5649
Editor: FranklinPiat
Comment: more on RLE.
Revision 9 as of 2009-03-16 03:32:06
Size: 5767
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
How to design and test a ["Grub"] !SplashImage. How to design and test a [[Grub]] !SplashImage.
Line 13: Line 13:
 * file format : [wiki:WikiPedia:Truevision_TGA .tga] (uncompressed or RLE [[FootNote(use Gimp to create compressed tga. Imagemagic-6.2.4 "convert -compress RLE" doesn't work.)]] ).  * file format : [[WikiPedia:Truevision_TGA|.tga]] (uncompressed or RLE <<FootNote(use Gimp to create compressed tga. Imagemagic-6.2.4 "convert -compress RLE" doesn't work.)>> ).
Line 19: Line 19:
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]] 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>>
Line 25: Line 25:
|| [[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)]]|| || [[http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_gimp-overlay.xcf.gz|{{http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_gimp-overlay-thumb.png||width=160}}]] ||[[http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_overlay.svg|{{http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_svg-overlay-thumb.png||width=160}}]]||
Line 36: Line 36:
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]] 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>>
Line 40: Line 40:
|| [[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)]]|| || [[http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_overlay.png|{{http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_png-overlay-thumb.png||width=160}}]] ||[[http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_overlay.svg|{{http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_svg-overlay-thumb.png||width=160}}]]||
Line 75: Line 75:
|| [[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)||
|| [[http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian%28grub%29-discret-thumb.png|{{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)||
||[[http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian-shines-thumb.png|{{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]] ||[[http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines_preview.png|{{http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines_thumb.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)||
Line 80: Line 80:
 * Package DebPkg:usplash and ["DebianDesktopArtwork/UsplashEtch"].
 * ["Bootsplash"]
 * Package DebPkg:usplash and [[DebianDesktopArtwork/UsplashEtch]].
 * [[Bootsplash]]


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 (uncompressed or RLE 1 ).

  • 640x480 pixels (you can change this, for instance 1024x768).
  • 24 and 32bits True colors : 24bits = 16millions colors ; 32bits = 16millions colors + 8bits for alpha channel).
  • 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...
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...)

http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_gimp-overlay.xcf.gz

http://www.klabs.be/~fpiat/linux/boot/grub/grub-v2-640x480_overlay.svg

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...
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...)

http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_overlay.png

http://www.klabs.be/~fpiat/linux/boot/grub/grub-v1_overlay.svg

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

http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian%28grub%29-discret-thumb.png
svg xpm

None

Franklin Piat (GPL license)

http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian-shines-thumb.png
svg xpm

http://www.klabs.be/~fpiat/linux/boot/grub/fp-debian(grub2)-shines_preview.png
svg tga

Franklin Piat (GPL license)


See also:

  • Package usplash and ?DebianDesktopArtwork/UsplashEtch.

  • ?Bootsplash

  1. use Gimp to create compressed tga. Imagemagic-6.2.4 "convert -compress RLE" doesn't work. (1)