Gfxboot

From openSUSE

Contents

Graphical boot logo

The graphical bootlogo in openSUSE is well known over the world. Gfxboot contains the "magic" behind the scenes - it makes grub look nicer but with the same features In this howto you will install gfxboot and adapt the bootlogo to your own needs.

As an enhancement, we start with a description, how to create a new bootlogo for installation medias. So your own remastered openSUSE-CDs can start with your Logo instead of the original one.

Change the bootlogo on installation media

Sometimes in the future, Novell/SuSE will hopefully allow to create and distribute adapted openSUSE medias. A first step is done by [User:Jnweiger|Jürgen Weigert]] with the Rembrand package. An additional step is this one: exchange the original bootlogo of a media with your own and adapt the bootmenu and help texts.

Preparing your system

At first you need a normal (or mini) ISO containing the bootloader parts (directory /boot on the first media). It's also a good idea to install the packages gfxboot and syslinux on your system. Copy the whole directory /boot from the installation media to a temporary folder on your harddrive. All steps below are done in this directory.

Here is a list of the interesting files and their content in the directory:

  • message => the text mode message
  • en.hlp => help content (when pressing F1 during installation)
  • isolinux.cfg => the Kernel commandline options
  • bootlogo => cpio archive containing the files init and languages
    • init => contains the textstrings during boot
    • languages => contains the list of available translations (there should be files with the same prefix in the boot/loader directory)

The bootlogo

Normally, the labels from the isolinux.cfg file are taken as a whole and displayed on the screen. The file bootlogo does the magic: it contains the needed data for the labels in isolinux.cfg and also some extra files (for displaying the background, the pengiuns, the help texts, ...).

Adapting the bootlogo content - easy way

Start with the creation of a temporary directory and extract to content of the bootlogo file:

cd boot/loader/
mkdir boologo.tmp
cp bootlogo boologo.tmp; cd bootlogo.tmp
cpio -idv < bootlogo

Now you can make your changes to the files. Question: How do you update init so it displays your label entries in isolinux.cfg?

Re-package the bootlogo - easy way

To repackage the cpio archive, follow the steps below:

cd boot/loader/boologo.tmp
rm bootlogo
ls | cpio -ov > ../bootlogo

This creates a new file bootlogo in the directory below and will overwrite the original bootlogo.

Adapting the bootlogo content - official way

This is the official way and allows you to edit the whole content of your bootlogo. You can add new menu entries, edit the help texts and any other strings. You need the package gfxboot for the steps below.

Have a look in /usr/share/gfxboot/themes - here you should find the official themes for openSUSE. To recompile the theme, just:

cd /usr/share/gfxboot
make -C themes/<themedirectory>/

Afterwards you should find the compiled sources in /usr/share/gfxboot/themes/<themedirectory>/install/ - you can copy these files to your new installation media and test them.

Adapting the background image

The bootlogo image back.jpg is a normal jpg file with 800x600 in size, 72dpi and 24bit depth. To reduce the size, use the normal jpg compression (87-90% should be enough) - the image should have not more the 55KB in the end.