Fbsplash

Aus wiki.archlinux.de
Version vom 8. Mai 2011, 20:13 Uhr von 127.0.0.1 (Fbsplash installieren)

Wechseln zu: Navigation, Suche

Warn 16x16.png Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Fbsplash (vormals gensplash) ist eine Userspace-Implementierung eines Startbildschirms für Linux-Systeme. Mit der Linux-Framebuffer-Schicht ermöglicht sie eine grafische Umgebung während der Bootvorgangs. Fbsplash hat das Ziel einfach, leicht und schnell zu sein. Der Code ist auf minimale Boot-Zeit optimiert.

Framebuffer

Ab dem Linux-Kernel 2.2 ist der Framebuffer standardmäßig enthalten. Der Framebuffer ist eine Methode, unter Linux den Grafikspeicher der Grafikkarte anzusprechen. Das Besondere an dieser Methode ist, dass dabei kein speziel an die Grafikkarte angepasster X11-Treiber verwendet wird, sondern dass er selbst den Speicher der Grafikkarte im System repräsentiert und dabei die Koordination über Dateioperationen mit ihr übernimmt. Dazu muss im Linux-Kernel der Framebuffer-Treiber aktiviert sein, so dass die Funktionalität über das Device /dev/fb0 (ist das erste Framebuffer Device, das zweite verwendet /dev/fb1 usw.) zur Verfügung steht. Das ist standardmäßig im Linux-Kernel von Arch Linux der Fall.

Uvesafb

Uvesafb ist ab Version 2.6.24 im Kernel eingepflegt und ersetzt damit den vesafb-tng (ein Erweiterungs-Patch von Michał Januszewski alias spock für den normalen VESA-Framebuffer-Treiber). Mehr Infos dazu auf spocks offizieller Webseite.

Der virtualisierung Daemon

Im Gegensatz zu anderen Framebuffer-Treibern braucht uvesafb einen Userspace-Virtualisierungs-Daemon, genannt v86d. Dieser ist in der extra Repository verfügbar und kann einfach mit pacman installiert werden:

 pacman -S v86d

Danach den v86d irgendwo nach udev und vor keymap in die /etc/mkinitcpio.conf eintragen:

 HOOKS="base udev v86d ..."

Dann die initramfs mit mkinitcpio neu generieren:

mkinitcpio -p kernel26

Wird ein anderer Kernel benutzt, zum Beispiel mit Fbcondecor, dann den Befehl entsprechend anpassen: mkinitcpio -p kernel26-fbcondecor

Die Kernel-Parameter

Zuerst alle eventuellen Framebuffer-Kernel-Boot-Parameter in der Grub/Lilo-Konfiguration, die sich auf den normalen VESA-Framebuffer-Treiber beziehen, entfernen.

(vga=792 ...)

Die Einstellungen werden stattdessen jetzt in der /etc/modprobe.d/uvesafb.conf (ist ein Teil des obengenannten V86d-Pakets) oder in der allgemeinen /etc/modprobe.d/modprobe.conf vorgenommen. Die uvesafb.conf vom V86d-Paket verrät auch, wo man weitere Infos zum uvesafb nachlesen kann.

# This file sets the parameters for uvesafb module.
# The following format should be used:
# options uvesafb mode=<xres>x<yres>[-<bpp>][@<refresh>] scroll=<ywrap|ypan|redraw> ...
#
# For more details see:
# http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/fb/uvesafb.txt
#
options uvesafb mode=1280x800-32 scroll=ywrap

Ab Kernel .6.27 und höher sieht die Zeile so aus:

options uvesafb mode_option=1280x800-32 scroll=ywrap

Uvesafb als festen Bestandteil des Kernels

Wenn du einen selbst kompilierten Kernel benutzt, in dem du Uvesafb als festen Bestandteil des Kernels statt als Modul eingebunden hast, kann das V86d-Paket auch später gestartet werden (bspw. mittels etc/rc.local) und du musst den Boot-Parameter in der Grub/Lilo-Konfiguration wie folgt anpassen:

video=uvesafb:<options>

Fbsplash

Fbsplash installieren

Installiere fbsplash mit yaourt:

yaourt -S fbsplash

Ergänze fbsplash unter DAEMONS in der rc.conf:

DAEMONS=(... fbsplash gpm gdm)

Um fbsplash beim Starten und Runterfahren des Computers zu kontrollieren, bedarf es das initscripts-extras-fbsplash-Paket vom AUR.

yaourt -S fbsplash-extras

Themes

Das Fbsplash-Paket selbst bringt kein Aussehen für den Bootvorgang mit, so dass zumindest ein Theme installiert werden muss.

Fertiges Theme

Im AUR findest du einige fertige Themes für Arch Linux, die du mit yaourt installieren kannst. Suche in AUR nach Themes
Hier kommt als Beispiel das "fbsplash-theme-arch-minimal" zum Einsatz.

yaourt -S fbsplash-theme-arch-minimal

Theme selber erstellen

Eine gute Anleitung dazu findet du im Artikel zum Fbsplash des Gentoo-Wikis.

Hintergund für die Konsole

Mit dem Kernel-Patch Fbcondecor hat auch die Konsole ein schönes Hintergrundbild, sofern dein gewähltes Splash eins mitbringt. Du findest ihn hier im AUR

Fbsplash einrichten

Bootloader konfigurieren

Ergänze den Bootloader in der "Kernel-Zeile" wie folgt:

quiet console=tty1 splash=silent,theme:arch-banner-icons,fadein,fadeout

Fbsplash konfigurieren

In der /etc/conf.d/splash kannst du diverse Einstellungen vornehmen. Hier musst du auch mindestens ein installiertes Theme angeben:

SPLASH_THEMES="arch-black arch-banner-icons arch-banner-noicons"

Dieser Artikel (oder Teile davon) steht unter GNU FDL (GNU Freie Dokumentationslizenz). Grundlage für den Inhalt ist der der Artikel fbsplash im Gentoo-Wiki.