Home arrow Resources arrow Installing/Changing Bootsplash screen in Debian
Installing/Changing Bootsplash screen in Debian PDF Print E-mail
Written by Jordan   

Have you ever wondered how Debian managed to display a nice image as well as a progress bar at boot time? Well, this article will show you how to customize your own image that Debian will use at boot time. This image is called a bootsplash.

 

I - Introduction
The bootsplash allows you to show an image as well as the progress bar at boot time. The following picture shows you an example.

BootSplash

 

 

Of course, as Linux is open-source you can define you own theme. This tutorial will guide you through the entire process. In order to do so, you will need to patch your kernel because the kernel is responsible for linking the bootsplash and the display. Bootsplash makes use of the frame buffer of the graphics card so I assume you have got a decent graphics card. nVIDIA's cards are definitely the best for Linux due to the high quality of their drivers. Other vendors also are fine, especially ATI ones. The frame buffer is a software layer aiming at displaying images by sending it directly the graphics processor.

 

 Before beginning, I would like to warn you that this tutorial was written and tested with the kernel 2.6.16.5 under Debian Sarge

 

II – Preparing and compiling the kernel

Preparing

The first thing you need is the source code of your kernel. This can be obtained from your distribution DVD. The following command will help you.

su
 #Enter the root password
apt-get install kernel-source-2.6.8

You can also retrieve the latest source code files from the following website www.kernel.org. You should download a patch for your kernel. The one used in this tutorial is version 2.6.15. This should only work for the 2.6.16.5 kernel.

You now need to uncompress kernel archive files. Here is the command  

cd /usr/src
tar xvfj /home/user/linux-2.6.16.5.tar.bz2


This will create a folder called linux-2.16.5 in /usr/src. You are now ready to patch your kernel. This means that you will change its contain by calling a special program. Here is the command:

cd /usr/src/linux-2.6.16.5/
patch -Np1 -i /home/user/bootsplash-3.1.6-2.6.15.diff

 

If everything happens perfectly you should not have any error messages. Now that you have patched your kernel it is time to configure and compile it. There are many choices for configuration. I will talk about the console mode. Here is the command:

make menuconfig

If you fancy a graphical mode, you should install gksu

# Graphical interface with Qt
gksu -g make xconfig
# Or graphical interface with Gtk
gksu -g make gconfig

I will not dwell into kernel configuration so I will only cover bootsplashing. The GUI to configure the kernel is shown at the following picture.

BootSplash

Go to the section called Device drivers -> Block devices and select RAM disk support. Press “y” no matter your interface. You should do the same with “Initial RAM disk (initrd) support”

BootSplash

You should now activate the frame buffer. Go to “Device drivers -> Graphics Support” and select “Support for frame buffer devices” and press “y”. A scrolling list will thus appear in which you should select “VESA VGA grapĥics support” and press “y”.

BootSplash

Go to the section “Device drivers -> Graphics support -> Console display driver support” and select “Video mode selection support” and press “y”. “Frame buffer console Rotation” is not compulsory

BootSplash

For the final step of the configuration, you should go to “Device drivers -> Graphics support -> Bootsplash configuration” and activate “Bootup splash screen” and press “y”. The following screenshot shows you what you should have.

BootSplash

Your kernel is now configured to host bootsplash. Click on the Save button and close the window.

 

Compiling the kernel

Type the following commands:

 su # Enter root password
 make
make modules_install

 

Installing the kernel

I strongly advise you to type make modules_install instead of the popular make install to keep track of everything happening so that you will not be surprised by the final result.

 Type:

 cp arch/i386/boot/bzImage /boot/vmlinuz-bootsplash

If you use GRUB instead, you should edit some lines in the /boot/grub/menu.lst file. Here you go:

/boot/grub/menu.lst

# original lines
title           Debian GNU/Linux, kernel 2.6.8-2-386
root            (hd0,5)
kernel          /boot/vmlinuz-2.6.8-2-386 root=/dev/sda6 ro
initrd          /boot/initrd.img-2.6.8-2-386
savedefault
boot
# end of original lines

Change the lines listed below:

# You should add these lines
title           Debian avec bootsplash                                                        # to change
root            (hd0,5)                                                                             # Don't change this line !
kernel          /boot/vmlinuz-bootsplash root=/dev/sda6 ro splash=silent  # change 2.6.8-2-386 by bootsplash
#initrd         /boot/initrd.splash                                                          # change  2.6.8-2-386 with bootsplash
savedefault                                                                                         # Don't change this line
boot                                                                                                   # Don't change this line too

If you are using LILO, here is your configuration file:

/etc/lilo.conf

# original lines
label=Debian2.6.8-2-386
image=/boot/vmlinuz-2.6.8-2-386
initrd=/boot/initrd.img-2.6.8-2-386
root=/dev/sda6
# end of original lines

Change these lines:

# Lines to be edited
label=Debian-bootsplash                              # To change : Be careful of any white space!
image=/boot/vmlinuz-bootsplash                 # change 2.6.8-2-386 with bootsplash
#initrd=/boot/initrd.splash                        # change 2.6.8-2-386 with bootsplash
root=/dev/sda6                                         # Don't change this line!
append="splash=silent"

 III – Installing and configuring the bootsplash

Preparing

You should add your bootsplash to the file /etc/apt/sources.list

Do root this as root or with sudo

echo "deb http://www.bootsplash.de/files/debian/ unstable main" >> /etc/apt/sources.list
# update apt-get
apt-get update

Installing

Execute this command:

apt-get install bootsplash

You will be required to download an image and asked to select the image to be changed. You will also be asked to choose the resolution and the loader.

Grub users may have the following output:

kernel /boot/vmlinuz-bootsplash root=/dev/sda6 ro splash=silent vga=794

Lilo users will have this output:

image=/boot/vmlinuz-bootsplash # change 2.6.8-2-386 with bootsplash vga=794

Lilo users should not forget to run lilo command in order to rewrite the Master Boot Record of the disk.

Well done! The bootsplash is now installed, you only need the progress bar now.

IV – Installing the progress bar

Yo need another patch. Type:

apt-get install sysv-rc-bootsplash

This will prompt a dialog box asking to confirm that you want to patch the kernel

 

BootSplash

Complete! Your progess bar is now installed and running! Reboot your computer and enjoy!

V – Conclusion

Well, you have just installed the progress bar and the bootsplash under Debian. The progress bar is certainly the most entertaining feature.

Need Help? Ask your questions at our forum!  

 
< Prev   Next >