Animated splash screens for LILO - help page
Other Linux distributions
These animated boot screens have been tested with SuSE Linux 7.2
and 7.3. If you are using another distribution such as Debian, Red
Hat, Mandrake or a custom set of packages, you will not get the
expected results if you keep the version of LILO included in your
distribution. Some versions of LILO can display static images, but
they will not work with these animations.
It should still be possible for you to install these boot screens
on your computer if you start by installing the patched version of
LILO provided by SuSE (and the corresponding boot block
boot-menu.b). If you already have some experience with
Linux, you should be able to get the correct RPM or SRPM file from one
of the SuSE
FTP mirrors and install it on your computer. It may be easier to
install the sources and compile them yourself. It may even be
possible to port the patches to a different version of LILO. Note
that I did not try that myself so please do not ask me how to do
it.
Here are the packages that you should install on your computer,
after creating a boot disk that would allow you to boot your old
system in case something goes wrong:
.../i386/7.3/suse/a1/lilo.rpm |
the patched version of LILO |
.../i386/7.3/suse/zq1/lilo.spm |
the source code for the patched version of LILO |
.../i386/7.3/suse/ap1/gfxboot.rpm |
the SuSE boot screen and its documentation |
.../i386/7.3/suse/ap2/gfxboot-devel.rpm |
the program mkbootmsg and the sources of the SuSE
boot screen |
.../i386/7.3/suse/zq1/gfxboot.spm |
the sources of mkbootmsg and
getx11font |
Many thanks to Steffen Winterfeldt and SuSE for providing this very
nice extension to LILO.
New: some people have provided pre-compiled packages for some Linux
distributions.
How to install these animated boot screens?
If you have the right version of LILO, it is very simple to install
these splash screens. If you already have the correct
boot-menu.b file, you only have to tell LILO to use the
compiled script as a message file:
The next time you reboot your computer, you should see the new
splash screen.
Common problems
If you get a text menu instead of the expected animation, then
something went wrong. Here are some common problems:
- If you get the error "message file too big" or similar errors,
then you do not have the right version of LILO or
boot-menu.b. You must install the patched version of
LILO.
- Your graphics card does not support the requested video mode (some
of the most recent 3D cards have stopped supporting the VESA modes
such as 640x480 x 256 colors).
- There was an error when you ran LILO and the boot screen was not
installed. Check your configuration file
/etc/lilo.conf
and check that you are running the right version of LILO.
- Your configuration file
/etc/lilo.conf does not
contain the option prompt, which is necessary to get the
boot menu. You should probably add a timeout option as
well.
- Your computer boots from a different disk than the one on which
LILO is installed or it uses a different boot loader.
How to create or modify your own animated boot screens?
Warning: playing with LILO can be
dangerous. Be sure to have a rescue disk ready when you modify a
script or the LILO configuration file, because you could easily make a
mistake that prevents your computer from booting. Make sure that you
do regular backups as well, because you never know what could happen
to your data. Once, I made a small copy-and-paste error when testing
one of my animations, by using ifelse instead of
if in a script. LILO crashed (probably a stack
underflow) and my computer could not boot anymore. I was glad to have
a rescue disk... So be careful when you are experimenting with your
boot loader.
If you want to create your own graphical boot screens, you need the
program mkbootmsg, available in the SuSE distribution in
the package gfxboot-devel. This package also contains
the program getx11font, which can convert a font in a
format that can be used in your boot screens. As of this writing, the
only documentation for mkbootmsg is available in the
README file /usr/share/doc/packages/gfxboot/README
(package gfxboot). I tried to put some helpful comments
in my scripts in order to make them easier to understand, but you
should study that README file first.
When you are writing or modifying a script, keep in mind that you
are developing a modification to your boot loader. You have to be
very careful because the only way to test and debug your code is to
reboot your computer, which can be quite time-consuming if you have to
resort to the rescue disk (or to re-install everything in case
something very bad happens). So double-check your code before
installing it. Some debug statements are available and the compiler
contained in mkbootmsg is able to detect some errors, but
not all of them.
Once you have the script file (*.config), the PCX
image (*.pcx) and the optional font file, you can use
mkbootmsg to compile your new boot screen. For
example:
/usr/sbin/mkbootmsg -c penguins.config penguins.boot
If you do not get any errors, then you can install the new file as
explained above.
Modifying the image should not be too hard. I used The GIMP to create all
animations, as you can see in the *.xcf.gz files that are
available for download. I usually follow this procedure:
- Most of the development is done on RGB images. The area outside
the screen size defined in the script can be used to hide some
elements that will be copied to the screen later for the
animations.
- When the image is ready, I flatten it (merging all layers) with
Layers->Flatten Image.
- I convert the result to indexed mode (less than 256 colors - for
example, 240) with
Image->Mode->Indexed, usually
without dithering. The random distribution of dots caused by the
Floyd-Steinberg dithering is often annoying for animations.
- I use
Dialogs->Indexed Palette to modify some
colors by hand: the color at index 0 must be pure black
(#000000). If you forget this step, you will get a
warning when you compile your boot screen.
- Finally, I save the image in a PCX file and I use
mkbootmsg to test the new boot screen.
If you create some nice boot screens, please tell me and I will add
a link to your page on my LILO links
page.
[back to my LILO page]
|