Bootsplash Configuration

bootsplash preview

This section documents how bootsplash was setup with a Debian GNU/Linux desktop computer. Laptops with with unusual setting requires further modifications.

Bootsplash requires a kernel patch and its subsequent compilation but contrary to some believes, it plays well with suspend2 in the machines we've tested. Please read article on Software Suspend2. The alternative to in-kernel patch is to use the userspace bootsplash which we will not cover here.

This disclosure is made in the spirit of Free Software so that users can help themselves and their neighbours.

All material presented are licensed under The GNU Free Documentation License.

Please report problems and direct enquiries to Contact US.

Warning Note: Bootsplash will be superceded by Splashy in the next version of the Debian distribution - Sid. Splashy is a userspace application requiring no kernel modifications but it is currently sitting in the unstable branch.


  1. Prerequisite
  2. Kernel Patch
  3. Bootsplash Configuration
  4. Grub Configuration
  5. Trouble Shooting
  6. References

  1. Prerequisite

    To get Bootsplash working on your Debian machine, you will need:

    1. Root password.
    2. Kernel source, it can be downloaded from Synaptic Package Manager. Tested with 2.6.18-xx.
    3. kernel patch file matching the kernel source version, it can be downloaded from our Download Section or from official site. Place the patch into /usr/src directory.
    4. Bootsplash application, it can be downloaded from Synaptic Package Manager.
    5. Download rc.patch to make the progress bar work, can be found in Downloads.
    6. Optional: Boosplash theme, can be found in Downloads.
    7. Optional: kernel module sources, they can be downloaded from Synaptic Package Manager.
    8. Add user to the src group.

    Updated: 2007-07-09

    Back to top
  2. Kernel Patch

    Select Application->Accessories->Terminal and Change directory into source, uncompress the kernel source file and create a symbolic link to it.

    $ cd /usr/src
    $ tar --bzip2 -xf linux-source-2.6.18.tar.bz2
    $ ln -s linux-source-2.6.18 linux

    Edit kernel-pkg.conf, to add maintainer, email and version information. You will need to SU to root prompt to accomplish that.

    $ su 
    # editor /etc/kernel-pkg.conf
    # exit
    ...
    # The maintainer information.
    maintainer := Linuxvillage.ca
    email := support@linuxvillage.ca
    ...
    # debian = $(version)-0.01.Custom
    debian = 10.03
    ...

    Test patch the kernel, if no errors patch it.

    $ cd /usr/src/linux 
    $ cat /usr/src/bootsplash-3.1.6-2.6.18.diff | patch -p1 --dry-run
    $ cat /usr/src/bootsplash-3.1.6-2.6.18.diff | patch -p1
    

    Copy init-suspend2 to /etc/initramfs-tools/scripts/init-premount/ if you also have suspend2 enabled. See Software Suspend2 for details.

    $ su
    # cp /usr/src/init-suspend2 /etc/initramfs-tools/scripts/init-premount
    # exit 

    Get a copy the running kernel's configuration as a starting point. Replace the name found in /boot directory. Change directory to source, initialize the environment and configure kernel.

    $ cp /boot/config-2.6.18-7-k7 /usr/src/linux/.config
    $ cd /usr/src/linux
    $ make menuconfig
    

    In menuconfig:

    • Select Device Drivers->Graphics support->,
    • Turn on [*] Support for frame buffer devices ,
    • Turn on [*] VESA VGA Graphics Support,
    • Select Device Drivers->Graphcis Support->Console display driver support->,
    • Turn on [*] VGA text console,
    • Turn on [*] Video mode selection support,
    • Turn on [*] Framebuffer Console support,
    • Optional: Turn on [*]Framebuffer Console rotation.
    • Optional: Turn on [*]Select compiled-in fonts, and select a few fonts,
    • Select Device Drivers->Graphcis Support,
    • Turn on Bootsplash.

    Note: Don't be tempted to turn on hardware specific framebuffer driver support; use the generic VESA vga graphics support instead.

    Compile the kernel.

    $ cd /usr/src/linux
    $ make-kpkg clean
    $ fakeroot make-kpkg --initrd --append_to_version -custom kernel_image modules_image

    If there are no errors, remove the init-suspend2 file and install the custom kenrel.

    $ cd /usr/src
    $ su
    # rm /etc/initramfs-tools/scripts/init-premount/init-suspend2
    # dpkg -i linux-image-2.6.18-7-custom_10.03_i386.deb
    # exit

    That's it for kernel compile and patching.

    Updated: 2007-09-05

    Back to top
  3. Bootsplash Configuration

    After bootsplash program from Synaptic Package Manager was installed. A few extra configurations are needed. Each computer model may have slightly different settings, the patchset form the private repository contain patch files to update them automatically. Alternately, a separate rc.patch file is provided for your convenience in the Downloads section.

    To fix the bootsplash progress bar, Select Application->Accessories->Root Terminal and rc startup script file.

    # cd /etc/initrd
    # cat /usr/src/rc.patch | patch -p1 --dry-run 
    # cat /usr/src/rc.patch | patch -p1

    If the bootsplash-theme was downloaded manually and it is a Debian package, do the following:

    # dpkg -i bootsplash-theme-XXX-XXX.deb
    # dpkg-reconfigure bootsplash

    If downloading through apt-get or synaptic manager just run:

    # dpkg-reconfigure bootsplash.

    If downloading the bootsplash-theme.tar.gz package, you will need to untar it and place in /etc/bootsplash/theme directory manually. You may need to change the symbolic link for the current theme.

    Updated: 2007-09-05

    Back to top
  4. Grub Configuration

    Edit grub parameters in /boot/grub/menu.lst and add the console resolution parameters.

    # defoptions=...  vga=794 splash=silent
    # altoptions=(single-user mode) single splash=verbose ...

    Update grub. Make sure not to update the kernel parameters in the selection menu because they would disappear mysteriously next time grub is updated. Check the updated menu.lst file with less.

    $ su
    # editor /boot/grub/menu.lst
    # update-grub
    # less /boot/grub/menu.lst
    # exit

    The vga parameter has the following possible values:

    Color depth640x480800x6001024x7681280x10241400x10501600x1200
    15-bit784787790793832797
    16-bit785788791794833798
    24-bit786789792795834799

    Updated: 2007-09-05

    Back to top
  5. Trouble Shooting

    • If you see your new kernel working but no bootsplash, check that the kernel parameters exists in /boot/grub/menu.lst. Check also to see if the vga=video mode is the same as the resolution chosen in dpkg-reconfigure bootsplash.
    • If you made a change in selection in dpkg-reconfigure bootsplash but don't see the changes in bootup, run
      # update-initramfs -u 
      to recreate initrd image.
    • If your bootsplash image appears fuzzy, it is not displaying as the native resolution. try another resolution.

    Updated: 2007-09-05

    Back to top
  6. References

    • Oreilly Books Linux Desktop Hacks - Tips & Tools for Customizing and Optimizing your OS. By Nicholas Petreley, Jono Bacon. First Edition March 2005.
    • www.bootsplash.org
    • www.kde-look.org bootsplash section.
    • www.bootsplash.de bootsplash themes.
    • Grub originally designed and implemented by Erich Stefan Boleyn..
    Back to top