Bootsplash einrichten: Wie richtet man einen Boot-Hintergrund ein?

Linux ist schon lange keine graue Arbeitsmaus mehr und Websites wie www.kde-look.org zeigen, dass man aus seinem Linux-System eine schönes Design zaubern kann. Man hat mittlerweile viele Möglichkeiten, Linux peppiger und stylischer zu gestalten, und eine davon ist das Einrichten eines Hintergrund-Bildes beim Booten. Gerade beim Booten kann man Eindruck schinden, denn wenn man einmal überlegt ist gerade diese Phase die Zeit, wo der Betrachter sich mehr auf das Aussehen und weniger auf das Arbeiten des Besitzers konzentriert. Und wenn hier der Bootvorgang anstatt in der öden weißen Schrift auf schwarzen Hintergrund nun mit einem peppigen und individuellen Hintergrundbild erscheint, macht dies ein deutlich besseren Eindruck.

  

Bootsplash für Linux - So schön kann booten sein

Voraussetzungen

Um Bootsplash einzurichten, kommt nicht um die Neukompilierung des Kernels herum, weil man später Bootsplash in den Kernel patchen muss (keine Panik, hört sich schlimmer an, als es ist!). Deswegen sollte man als erstes prüfen, ob die Kernel-Sources vorhanden sind, um diese ggf. nachzuinstallieren. Dazu sollte man folgendes prüfen:


   Sind die Kernel-Sources da?
   # ls /usr/src/
   linux linux-2.6.9 //Hier sollte etwas wie linux-2.xxx stehen

   Ist Systemlink zum Kernel da?
   # ls -n /usr/src/
   11 23. Dez 12:22 linux -> linux-2.6.9
 

Wenn die Kernel-Sourcen vorhanden sind, kann man mit dem nächsten Schritt beginnen. Bei denjenigen, wo die Kernel-Sources nicht vorhanden sind, sollten sich entweder einen aktuellen Kernel unter www.kernel.org herunterladen und installieren. Eine Anleitung zum Kernel-Installieren findet man hier. Einen Kernel selbst zu kompilieren erfordert aber Kenntnisse zur kompletten Hardware des jeweiligen Systems. Besitzer einer Distribution wie Suse oder Mandrake können die Kernel-Sources aber bequem per Softwaremanager nachinstallieren.

Nun sollte man überprüfen, ob die entsprechenden Features, die für den Bootsplash nötig sind, in den Kernel einkompiliert sind. Um Bootsplash betreiben zu können, sollte man folgendes in den Kernel kompilieren (Beispiel anhand des 2.6.x-Kernel):

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
//erst nach Patchen des Kernels vorhanden.
//Siehe folgendes im Artikel

Diese Einträge sind notwendig, um Bootsplash erfolgreich auf dem Linux-System zu installieren. Wir kompilieren den Kernel noch nicht, weil wir als nächstes noch Bootsplash in den Kernel patchen müssen. Dazu besuchen wir die Seite www.bootsplash.de und laden den enstprechenden Patch herunter. Hier findet man Patches zu sämtlichen Kernel-Versionen. Wichtig ist, dass man auch den Patch für die richtige Kernel-Version benutzt, ansonsten funktioniert der Patch nicht. Um sicher zu gehen, sollte man überprüfen, welcher Kernel auf dem System installiert ist:


   Welche Kernel-Version ist installiert??
   # uname -r
   2.6.9

 

In diesem Falle ist ein Kernel der Version 2.6.9 installiert und wir laden den entsprechenden Patch herunter. Anschließend patchen wir den Kernel mit folgendem Befehl:

#cd /usr/src/linux
# patch -p1 < /pfad_wo_patch_gespeichert/bootsplash-3.1.4-sp3-2.6.9-rc4.diff
patching file drivers/char/console.c
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/video/Config.in
patching file drivers/video/Makefile
patching file drivers/video/fbcon-jpegdec.c
patching file drivers/video/fbcon-jpegdec.h
patching file drivers/video/fbcon-splash.c
patching file drivers/video/fbcon-splash.h
patching file drivers/video/fbcon-splash16.c
patching file drivers/video/fbcon.c
patching file include/video/fbcon.h
patching file kernel/panic.c
yourbox:/usr/src/linux #

Jetzt haben wir den Kernel erfolgreich gepatcht und es sollte nun ein neuer Eintrag im Kernel erscheinen, der vorher noch nicht da war. Dazu öffnen wir mit make menuconfig den Kernel und aktivieren die [*] Bootup splash screen. Anschließend kompilieren wir den Kernel neu:


   Kernel kompilieren?
   # make && make modules_install

 

Genauere Informationen zum Kernel kompilieren findet man hier. Nun booten wir erst einmal mit dem neuen Kernel. Nicht wundern, dass immer noch der gewohnte Boothintergrund erscheint, denn wir haben Bootsplash an sich noch nicht installiert. Dazu laden wir uns die aktuelle Bootsplash-Version von http://www.bootsplash.org/kernel.html herunter und installieren Bootsplash nach der gewohnten Vorgehensweise (oder für Gentoo-User einfach emerge bootsplash in die Tasten hauen):

# cd ~/splash
# tar xvjf splashutils.tar.bz2
splashutils/
splashutils/Makefile
splashutils/splash.c
[..]
splashutils/ChangeLog
splashutils/COPYING
# cd splashutils
# make splash
gcc -Os -Wall -c -o splash.o splash.c
gcc -Os -Wall -o splash splash.o
strip splash
# cp splash /sbin/
# cd .

Nachdem wir nun den Kernel konfiguriert und Bootsplash installiert haben, können wir damit beginnen, ein entsprechendes Theme zu installieren, dass beim Booten geladen wird. Ein kleine Auswahl an Themes gibt es hier: http://www.bootsplash.org/themes.html oder http://www.bootsplash.de/


   Boot-Hintergrund einrichten?
   # cd /wo_theme_gespeichert/
   # tar -xvvjf Theme-FedoraCore2.tar.bz2
   # mv FedoraCore2/ /etc/bootsplash/themes/
   # /sbin/splash -s -f /etc/bootsplash/themes/FedoraCore2/config/bootsplash-1024x768.cfg >> /boot/fedora.splash
 

Jetzt haben wir das Theme entpackt, in das Themeverzeichnis von Bootsplash verschoben und dieses als Splashscreen (hier wurde der Name fedora.splash ausgewählt. Dieser kann beliebig sein!) gespeichert. Nun müssen wir noch dem Bootloader sagen, dass beim Booten der Bootsplash benutzt wird. Dazu öffnen wir die Konfigurationsdatei von Grub bzw. Lilo (oder ein anderer Bootmanager) und tragen dort folgendes ein:

...
title=Gentoo Linux 2.6.9
# Partition in der das Kernel-Image (oder das Betriebssystem) vorhanden ist
root (hd0,1)
kernel (hd0,1)/2.6.9.alsa root=/dev/hdb4 vga=791
initrd=/boot/fedora.splash
...

Das war es auch schon. Man muss lediglich den Eintrag initrd=/boot/fedora.splash hinzufügen und beim nächsten Start sollte ein herrlicher Bootscreen erscheinen und das Booten etwas angenehmer machen. Erfahrene Anwender können auch ihren eigenen Bootsplash entwerfen. Dazu sollte man einen Blick auf folgende Anleitung werfen:

http://www.bootsplash.org/themeinfo.html.