Differences between revisions 17 and 18
Revision 17 as of 2011-07-04 18:28:24
Size: 5727
Comment: add to CategoryBootProcess
Revision 18 as of 2012-04-17 02:09:31
Size: 5750
Editor: BenFinney
Comment: improve terminology and references
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
How to design and test a [[Grub]] !SplashImage. How to design and test a [[GRUB]] !SplashImage.
Line 10: Line 10:
= 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 ).
= GRUB v2 Splash Image =
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 ).
Line 14: Line 14:
 * 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.)>> ).
 * 640x480 pixels (you can change this, for instance 1024x768).
 * 24 and 32bits True colors : 24bits = 16millions colors ; 32bits = 16millions colors + 8bits for alpha channel).
 * 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.)>> ).
 * 640×480 pixels (you can change this, for instance 1024×768).
 * 24 and 32bits True colors : 24 bits = 16 million colors ; 32 bits = 16 million colors + 8 bits for alpha channel).
Line 18: Line 18:
 * Specify a black background in "set menu_color_normal", in order to make grub menu transparent.  * Specify a black background in "set menu_color_normal", in order to make GRUB menu transparent.
Line 20: Line 20:
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 24: Line 24:
||<-2> Grub v2 Template Overlays || ||<-2> GRUB v2 Template Overlays ||
Line 28: Line 28:
= 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 ).
= GRUB v1 Splash Image =
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 ).
Line 32: Line 32:
 * file format : {{{.xpm}}}
 * 640x480 pixels (you can't change this)
 * file format : {{{XPM}}}
 * 640×480 pixels (you can't change this)
Line 37: Line 37:
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 39: Line 39:
||<-2> Grub v1 Template Overlays || ||<-2> GRUB v1 Template Overlays ||
Line 44: Line 44:
== Convert to xpm == == Convert to XPM ==
Line 46: Line 46:
 * 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).  * 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).
Line 65: Line 65:
  * note 1 : you must unmount to {{{sync}}} the data to the floppy-image file.   * note 1 : you must unmount to sync the data to the floppy-image file.
Line 67: Line 67:
  * rsvg-convert belongs to the package DebPkg:librsvg2-bin
  * convert belongs to the package DebPkg: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.
  * {{{rsvg-convert}}} belongs to the package DebPkg:librsvg2-bin
  * {{{convert}}} belongs to the package DebPkg: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.
Line 73: Line 73:
= Add your Debian splashimages for Grub = = Add your Debian splash images for GRUB =
Line 75: Line 75:
|| Grub v1 Preview || Grub v2 Preview || Author ||
|| [[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)||
|| GRUB v1 Preview || GRUB v2 Preview || Author ||
|| [[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)||

Translation(s): English - Italiano - Русский


How to design and test a ?GRUB SplashImage.

GRUB v2 Splash Image

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

  • 640×480 pixels (you can change this, for instance 1024×768).
  • 24 and 32bits True colors : 24 bits = 16 million colors ; 32 bits = 16 million colors + 8 bits 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 Splash Image

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

  • 640×480 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 splash images 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


CategoryBootProcess

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