Bootsplash on Debian Sid

First of all I normally don’t care much about eye candy stuff, but recently my girlfriend told me that she found it quite boring to see the boot log scrolling by. Because I have never set up a boot splash before, I gave it a try.

Patching the kernel

First of all we need to patch our kernel, the patches can be found on bootsplash.org or bootsplash.de. They can be applied as usual.

cd /usr/src/linux;
patch -Np1 -i bootsplash.diff

Configuring the kernel

Afterwards we can configure our kernel with make menuconfig. The following options should be compiled in.

Code maturity level options  --->
 [*] Prompt for development and/or incomplete code/drivers
Processor type and features  --->
 [*] MTRR (Memory Type Range Register) support
Device Drivers  --->
 Block devices  --->
  <*> Loopback device support
  <*> RAM disk support
  (4096) Default RAM disk size
  [*]   Initial RAM disk (initrd) support
 Graphics support  --->
  [*] Support for frame buffer devices
  [*]   VESA VGA graphics support
  Console display driver support  --->
   [*]   Video mode selection support
   <*> Framebuffer Console support
   Bootsplash configuration  --->
    [*] Bootup splash screen

Userspace modifications

Next we have to set up some user space tools, to accomplish this we add 2 temporary lines to our sources.list

cat >> /etc/apt/sources.list << "EOF"
 deb http://debian.bootsplash.de unstable main
 deb-src http://debian.bootsplash.de unstable main
EOF

Now we are ready to install a the needed packages.

apt-get install  bootsplash sysv-rc-bootsplash

Normally debconf should ask you a few questions and create a initrd.splash. However, if this doesn’t happen, you can do it manually.

splash -s -f /etc/bootsplash/themes/default/config/bootsplash-1024x768.cfg > /boot/initrd.splash

Adjusting the boot loader

The last step is to adjust our boot loader configuration. Here are the relevant entries from my /boot/grub/menu.lst

title Debian GNU/Linux Sid / 2.6.13 splash
root(hd0,0)
kernel /linux-2.6.13-splash vga=791 splash=silent
initrd /initrd.splash

Enjoy your boot splash.