Bootsplash for Slackware Linux.

This is a quick guide to setting up bootsplash on Slackware Linux.

Additional information is advailble in the files:
README.rc.bootsplash :Setting up progress bar and animations during boot
README.lilo.conf :lilo configuration to setup bootsplash
README.kernel :Patching and setting up the kernel for bootsplash

For a quick start to creating the initrd scroll down to: Creating an initrd

About Bootplash:

Bootsplash is a kernel patch and a set of user space programs that are used to
display images onto the framebuffer during the boot sequence. In any given
theme, there are two mode, verbose and silent. Verbose still displays the boot
messages, on top of and image, and possibly limited to a certain area of the
screen, and silent hides the whole console, and displays a full screen image,
possibly with a progress bar and/or animations.
The package this file came with contains only userspace utilities. The kernel patch is seperate.

Installing new themes:

Themes consist of one or more config files, one or more image files, and
optionally one or more animation files. Additionally there are other scripts for
displaying text during boot that can be used as well.
Themes should be installed to the directory /etc/bootsplash/themes/, and each
theme in it's own subdirectory of the themes folder. The basic layout of each
theme is normally similar to this:

/etc/bootsplash/themes/THEME_NAME
                             |-config :configuration files
			     |-images :the image files
			     |-animations :animations, if included

There is normally a symbolic link in /etc/bootsplash/themes, called current, and
should be set to the current theme you are using. However, that link is mainly
for the animations, so if the theme you are using doesn't use animations, you
don't need to worry about it to much.

The Directories:
config:
Config contains the actual configuration file(s) for bootsplash. The files
called bootsplash-XxX.cfg contain the information on text colours, text box
locations progress bar boxs, colours and locations, and coordinates of 
animations, as well as the path to the image(s) used by the theme.
The name of the bootsplash-XxX.cfg file refers to the framebuffer resolution, so
bootsplash-1024x768.cfg is for 1024x768 framebuffers, and bootsplash-800x600.cfg
is for 800x600 framebuffers. Each file will contain references to the correct
sized images stored in the images file. 
Some themes also contain a file called animation.cfg. This contains information
on which animations to use when the bootanim script is called. See the file
README.rc.bootsplash for details.

images:
This contains the image files used by the theme. Frequently, there are two
types, one set called bootsplash-XxX.jpg and another called silent-XxX.jpg
(however, these names might be different, check the config file). Again the XxX
refers to which size framebuffer the image is used for.
The bootsplash-XxX.jpg's are used for the the verbose mode bootsplash, where you
can see the normal console messages scroll by, but ontop of the picture, and the
silent-XxX.jpg's are used for silent mode, normally with a progressbar or and
animation. Images should be 16bit jpg images, set to the size of the framebuffer
you are using.

animations:
This contains the animations listed in the config/animations.cfg file.
Animations are of the mng format, the Multiple-image Network Graphics format (a
relation of the png image format). Splash uses an (unfortunately) hard-coded
directory for locating the animations, and if the theme you are using has
animations, you must change the /etc/bootsplash/themes/current symbolic link to
point to the correct theme, otherwise splash will not be able to find the
animations.

The included userspace tools:

In this package are the following tools:
/etc/rc.d/rc.bootsplash
/sbin/bootanim
/sbin/fbmngplay
/sbin/fbresolution
/sbin/fbtruetype
/sbin/getkey
/sbin/progress
/sbin/splash

Breifly, fbresolution, getkey and progress are used by splash to get information
about, and update the splash screen, bootanim is a script that splash uses to
start and stop animations, fbtruetype is for displaying text to the framebuffer
in various colours, locations and using truetype fonts (.ttf) and fbmngplay is
for playing the animations themselves. Splash is the main application for
setting images to consoles and for creating the initrd files containing the boot
time images. /etc/rc.drc.bootsplash is a set of functions that can be used
during boot to tell splash to update the progress bar, or start/stop animations.

Using splash:
to set an image directly onto console 1, after booting, simple type:

splash -s -n /etc/bootsplash/themes/THEME_NAME/config/bootsplash-XxX.cfg

substituting the theme name for THEME_NAME and the console resolution for XxX
(the theme must support your console resolution)

Creating an initrd:

During the boot process, splash requires that you use an initrd file to store
the image in. To create a splash initrd file, you simply use splash, and
redirect the output to a file. However, if you system already uses an initrd
file during boot, you should append splashs output to the end of the initrd, as
well as making sure you don't overwrite you orignal file, so make a copy of you
initrd which you can use for splash.
For naming, I personally use the format of initrd.THEME_NAME.
Heres the command to create an initrd file (should be typed all on one line):

splash -s -f /etc/bootsplash/theme/THEME_NAME/config/bootsplash-XxX.cfg >>
initrd.THEME_NAME

If there are any errors, you should fix them, normally errors are to do with
paths in the config file pointing to wrong images.
This will leave you a file called initrd.THEME_NAME in the current directory.
Copy that file to the boot directory (normally /boot/)
You can, if you so wish, append additional sizes to your initrd, simple run the
above command, changing XxX to the config file for the resolution you require.

Getting additional themes:

The main bootsplash website, http://www.bootsplash.org, has many themes
submitted by happy bootsplash users, as well as more information of using and
setting up bootsplash.
Another website to visit is www.bootsplash.de, which hosts many more themes, as
well as a large number of kernel patches for bootsplash.
