Bootsplash
Aus Fedorawiki.de
| |
Achtung: Dieser Artikel wird nicht mehr gepflegt. Falls Du ihn aktualisieren möchtest, entferne bitte diesen Hinweis |
Inhaltsverzeichnis |
Beschreibung
Fedora bringt bekanntermaßen einen eigenen Bootsplash mit: rhgb. Dieser ist nicht (bzw. schwer) anpassbar und "reißt" beim Booten schon einen kompletten X-Server hoch. Es gibt aber noch eine Alternative für einen grafischen Bootvorgang, die hier kurz beschrieben werden soll. Wie das ganze nachher aussieht, kann hier betrachtet werden: www.bootsplash.org
Download
Da der Kernel gepatcht werden muss, um den Bootsplash zu integrieren, sollten die Sourcen des "vanilla"-Kernels benutzt werden. Diesen gibt es hier: kernel.org [1]. Ob das Ganze auch mit den Sourcen eines Fedora-Kernels funktioniert, habe ich nicht getestet. Desweiteren wird der passende Kernelpatch benötigt: www.bootsplash.de [2]. Dort gibt es auch viele Themes. Außerdem werden die Splashutils [3] benötigt.
Kernel patchen und bauen
Kopiert die Sourcen nach /usr/src/ und entpackt sie und wechselt in das erstellte Verzeichnis. Der Kernelpatch gehört direkt nach /usr/src/. Im Kernelverzeichnis muss Folgendes eingeben werden (z. B. für Kernel 2.6.10):
patch -p1 < /usr/src/linux/bootsplash-3.1.4-2.6.10.diff
Im config-File selbst müssen folgende Optionen gesetzt sein (über make menuconfig oder make xconfig:
- Code maturity level options -->
- [y] Prompt for development and/or incomplete code/drivers
- Processor type and features --->
- [y] MTRR (Memory Type Range Register) support
- [ ] Use register arguments (EXPERIMENTAL) (bei kernel 2.6.7)
- Device Drivers --->
- Block devices --->
- <y> Loopback device support
- <y> RAM disk support
- (4096) Default RAM disk size
- [y] Initial RAM disk (initrd) support
- Graphics support --->
- [y] Support for frame buffer devices
- [y] VESA VGA graphics support
- Console display driver support --->
- [y] Video mode selection support
- <y> Framebuffer Console support
- Logo configuration --->
- [ ] Bootup logo
- Bootsplash configuration --->
- [y] Bootup splash screen
- Block devices --->
Anschließend den Kernel normal bauen und installieren.
Installation der Splashutils
Entpackt die Sourcen der Splashutils und wechselt ins Verzeichnis Utilities. Dort wird durch ein einfaches
make
das Programm splash erstellt, das man am besten nach /sbin/ kopiert.
Installation der Bootsplashes
Erstellt als root die Verzeichnisse /etc/bootsplash/ und /etc/bootsplash/themes/
mkdir -p /etc/bootsplash/themes
Dorthin werden die heruntergeladenen Bootsplashes entpackt und auf das aktuelle ein Link mit Namen current gesetzt, also z. B.:
ln -s /etc/bootsplash/themes/ThinkLinux/ /etc/bootsplash/themes/current
Um einen Bootsplash vorher zu testen, muss folgender Befehl eingegeben werden:
/sbin/splash -s -u 0 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg
Voraussetzung dafür ist, dass ihr den gepatchten Kernel schon gebootet habt, sonst bricht das Programm mit einer Fehlermeldung ab. Der Bootsplash ist jetzt auf dem ersten Terminal (Strg+Alt+F1) zu sehen.
Um den Splash zu installieren, muss an eine initrd drangehängt werden (bzw. selbst eine erstellt werden):
/sbin/splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg >> /boot/initrd.splash
Anschließend muss die grub.conf noch angepasst werden:
title Fedora Core (Vanilla 2.6.10)
root (hd0,4)
kernel /boot/vmlinuz-2.6.10.fedora ro quiet root=/dev/hda5 video=vesafb:1024x768-16@70 vga=791 splash=verbose
initrd /boot/initrd.splash
Mit splash=verbose werden die Kernelmeldungen trotzdem angezeigt. splash=off schaltet den Bootsplash ab, splash=silent überdeckt den Bootvorgang komplett und zeigt den Fortschritt mit Hilfe einer Progress-Bar an. Letzteres muss der Bootsplash allerdings unterstützen. Für die Anzeige des Fortschritts auf der Progress-Bar müssen die Initskripte allerdings angepasst werden, worauf ich hier nicht eingehe. Die entsprechenden Files gibt es hier [4]. Um von dem Silent-Modus direkt in den Verbose-Modus zu wechseln, reicht dann ein Druck auf F2. Die Zeile video=vesafb:1024x768-16@70 ist nicht unbedingt zwingend nötig, wird aber öfters empfohlen. Andere Werte für vga=791 sind meistens in der README des Bootsplash aufgeführt.
Bootsplashes auf allen Terminals
So eingerichtet, erscheint der Bootsplash allerdings nur auf dem ersten Terminal, was für den Bootvorgang ausreicht. Wer allerdings alle Terminals grafisch haben möchte, sollte folgende Zeilen an das Ende von /etc/rc.local hängen.
# Bootsplash auf allen Terminals /sbin/splash -n -s -u 1 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg /sbin/splash -n -s -u 2 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg /sbin/splash -n -s -u 3 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg /sbin/splash -n -s -u 4 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg /sbin/splash -n -s -u 5 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg
"Kaputte" Terminals bei Verwendung des NVIDIA-Treibers
Die NVidia-Treiber haben anscheinend generell das Problem, dass sie mit dem Framebuffer des Kernels in manchen Situationen kollidieren. Bei Aktivierung des TV-Ausgangs heißt das, dass die virtuellen Terminals 1 - 6 bis zum nächsten Reboot nicht mehr benutzbar sind. Abhilfe schafft die Verwendung des vesafb-tng Framebuffertreibers. Immer wiederkehrende Diskussionen über dieses Problem können in dem Linux-Forum von nvnews [6] nachgelesen werden.
Links
[1] http://www.de.kernel.org/pub/linux/kernel/v2.6/ Kernelsourcen
[2] http://www.bootsplash.de/files/ Kernelpatches
[3] http://www.bootsplash.de/files/splashutils/ Splashutils
[4] http://www.bootsplash.de/files/misc/ rc-Patches für die Progressbar
[5] http://www.bootsplash.de/files/themes/ Viele Bootsplashes
[6] http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 Linuxforum von nvnews