Splash Screen

Aus Linupedia
Wechseln zu: Navigation, Suche

Einleitung

Früher musste man noch den Kernel neu kompilieren, heute kann man das im Handumdrehen erledigen.

Bootsplash einrichten

Achtung:

Diese Anleitung ist rein experimentell. Der Autor/die Autoren können nicht garantieren, dass sie tadellos funktioniert. Setzen Sie diese Anleitung NIE auf ihrem Produktivsystem ein! Ansonsten machen Sie eine Sicherungskopie ihrer Daten! Sie müssen Modifzierungen sowohl am Bootlader, als auch in geringen Maßen am Kernel vornehmen. Dadurch können Sie ihr System unbrauchbar/inkonsistent machen. Benutzung erfolgt auf eigene Gefahr. Mit Grub ist hier GRUB Legacy gemeint, (siehe eventuell bei GRUB 2 ob es dort vergleichbares gibt)


openSUSE

Diese Anleitung setzt die Kenntnis folgender Artikel vorraus:
  • Umgang mit einem Editor, idealerweise 'kate'
  • Umgang mit der Konsole
  • Umgang mit Yast' Sysconfig-Editor

Theme modifizieren und in das System integrieren

Als erstes sollte man einen geeigneten Bootsplash entweder selber erstellen oder fertig von KDE-LOOK herunterladen. Bersonders beliebt ist das fingerprint Theme, welches man herunterlädt, entpackt, und den Ordner fingerprint-bs, in welchem sich die Unterordner config und image befinden, in den Ordner /etc/bootsplash/themes mittels dem Befehl

 cp -R fingerprint-bs /etc/bootsplash/themes

als root kopiert. Natürlich muss man sich vor der Eingabe des Befehl im Ordner befinden, der den Order fingerprint-bs enthält. Danach öffnet man die Datei bootsplash-1024x768.cfg mit einem beliebigen Editor als root. Mit diesen Befehlen ist dies leicht zu bewerkstelligen:

Unter KDE:

 kdesu kate /etc/bootsplash/themes/bootsplash-1024x768.cfg

Unter Gnome:

 gnomesu gedit /etc/bootsplash/themes/bootsplash-1024x768.cfg

Diesen Teil dieser Datei

 # name of the picture file (full path recommended)
 jpeg=/etc/bootsplash/themes/login-scan/images/bootsplash-1024x768.jpg
 silentjpeg=/etc/bootsplash/themes/login-scan/images/silent-1024x768.jpg

ändert man in diese um

 # name of the picture file (full path recommended)
 jpeg=/etc/bootsplash/themes/fingerprint-bs/images/bootsplash-1024x768.jpg
 silentjpeg=/etc/bootsplash/themes/fingerprint-bs/images/silent-1024x768.jpg

Nun sollte der Bootsplash auch die richtigen Bilder finden. Danach muss man Yast noch die Information geben, das ein neuer Bootsplash verwendet werden soll. Dazu lädt man in Yast das Modul Sysconfig-Editor im Reiter System. Nun navigiert im Verzeichnisbaum auf der linken Seite zu System|Boot|Bootsplash und ersetzt das zu Anfangs eingestelle Theme suse durch fingerprint-bs.

Anpassen des Bootloaders

Achtung: Arbeiten an einer wichtigen Konfigurationsdatei

Da diese Datei enorm wichtig für das System ist, wird es dringends empfohlen, eine Sicherungskopie anzufertigen.


Zum Schluss ist es zu empfehlen den Bootloader noch zu modifizieren, damit das Bild/ der Bootsplash auf Anhieb richtig angezeigt/ wiedergegeben wird. Dazu öffnet man unter KDE mit dem Befehl:

 kdesu kate /boot/grub/menu.lst 

und unter Gnome mit

 gnomesu gedit /boot/grub/menu.lst

die Menu-Liste von Grub. Wenn Lilo verwendet wird, muss nur menu.lst durch lilo.conf ersetzt werden. Nun sollte die Menü-Liste des jeweiligen Boot-Laders im Texteditor angezeigt werden und kann editiert werden.

Grub

 # Modified by YaST2. Last modification on Mi Mai  9 19:35:36 CEST 2007
 default 0
 timeout 8
 gfxmenu (hd1,0)/boot/message
title openSUSE 10.2 root (hd1,0) kernel /boot/vmlinuz-2.6.18.8-0.3-default root=/dev/sdb1 resume=/dev/sdb3 showopts splash=silent vga=xxx(siehe Tabelle 1) initrd /boot/initrd-2.6.18.8-0.3-default

Hier muss man am Ende der Zeile kernel vga=xxx(siehe Tabelle 1) und splash=silent ergänzen, damit

  • 1. der Framebuffer genug Platz für das verwendete Bild reserviert
  • 2. der Bootsplash, anstatt der Konsolenausgaben angezeigt wird(diese Option ist meistens schon vorhanden)

Lilo

 boot = /dev/hda
 default = linux
 prompt
 timeout = 80
 image = /boot/vmlinuz
 label = linux
 root = /dev/hda2
 vga = xxx

Hier muss man nach dem Gleichheitszeichen der Zeile vga(siehe Tabelle 1) einen vga-Wert einsetzen, damit der Framebuffer genug Platz für das verwendete Bild reserviert.

Achtung: Bootlader Lilo

Wenn der Bootlader Lilo verwendet wird, muss man, nachdem man Änderungen an der lilo.conf durchgeführt hat, in einer Konsole als root

 /sbin/lilo

ausführen


vga-Werte

Der vga-Wert sorgt dafür, dass der Framebuffer(*) genug Platz für das verwendete Bild reserviert. Wenn man einen vga-Code auswählen will, sollte man gezielt auf die Auflösung achten, als auch auf die Farbtiefe achten. Mit einer Farbtiefe von 8 Bit ist beispielsweise das Limit von png's ereicht und mit 16 Bit das Limit von tiff's. Notfalls muss man die verschiedenen vga-codes austesten.

(*)Defenition Framebuffer: Der Framebuffer speichert jedes Pixel eines auf dem Bildschirm sichtbaren Bilds. Nutzt man höher aufgelöste Bilder mit mehr Pixeln, muss man den Framebuffer vergrößern, was über die vga-Option zu ereichen ist.

Tabelle 1: vga-Werte
Farben (Farbtiefe) 640x480 800x600 1024x768 1280x1024
256 (8 Bit) 768 771 773 775
32K (15 Bit) 784 787 790 793
64K (16 Bit) 785 788 791 794
16M (24 Bit) 786 789 792 795

Der erste Reboot

Nach dem ersten Neustart zeigt openSuSE/SuSE Linux noch keinen Bootsplash an. openSuSE/SuSe Linux erwartet nach dem Booten noch das Kommando /sbin/mkinitrd, dass man als root in die Konsole eingibt. Das Skript passt das Image für die Initrd(*), welche der Bootlader am Anfang lädt, an den Framebuffer an.

(*)Definition Initrd: Der Kernel muss nach dem Booten auf das Root-System zugreifen. Die Initrd lädt die dazu notwendigen SCSI-Treiber, die der Kernel benötigt, um das Root-Dateisystem zu mounten und darauf das Betriebsystem zu booten.

Ubuntu

Diese Anleitung setzt die Kenntnis folgender Artikel vorraus:
  • Umgang mit einem Paketmanager, wie APT
  • Optional ein Paket "per Hand installieren"
  • Umgang mit der Konsole

Zwar gibt es unter Ubuntu ein ein Tool, namens usplashy zur Einrichtung eines Bootsplashes, welches aber für den Fortgeschrittenen, als auch für den Durchschnittsanwender nicht geeigent sein dürfte. Man nimmt anstelle dafür splashy

Pakete

Zuerst muss man das Paket usplashy über seinen Paketmanager, idealerweise APT deinstallieren, darauf das Paket splashy installieren. APT Gui' Synaptic eignet sich gut dafür.

Einrichten eines Bootsplahes mit splashy

Nun benötigt man einen geeigneten Splash. Leider braucht man für splashy spezielle Bootsplashes und kann keine von KDE-LOOK verwenden. Also lädt man sich von hier ein Theme herunter. Da alle Bootsplashes unter *buntu in /etc/splashy/themes muss man das herunter geladene Theme noch dahin befördern. Man öffnet eine Konsole und navigiert mittels

 cd 

in das Verzeichnis, in dem sich das als tar.gz gepackte Theme befindet. Nun gibt man folgenden Befehl in die Konsole ein, um das Theme nach /etc/splashy/themes zu befördern:

 sudo splashy_config -i Name des Themes.

Nun kann man mit dem Befehl

 sudo splashy_config --info 

überprüfen, welche Themes überhaupt zu Verwendung stehen. Das Theme welches man eingerichtet hat, sollte sich ebenfalls in der Liste befinden. Nun kann man es mittels

 sudo splashy_config -s Name des Themes

als Standard festlegen. Als Test kann man nun ohne den Rechner neustarten zu müssen

 sudo splashy test

in die Konsole eingeben. Es sollte das komplette Theme zu sehen sein mit allsamt seiner Fortschrittsbalken. Der Test kann mit [ESC] abgebrochen werden. Wenn man nach dem Test nur einen schwarzen Bildschirm sieht, kommt man mit der Tastenkombination [Strg]+[Alt]+[F7] wieder zur grafischen Oberfläche zurück.

Besonderheiten bei Edgy Eft

Damit splashy mit dem System kooperiert und der Bootsplash einwahnfrei angezeigt werden kann, muss man erst noch einen Patch installieren.

Installieren des Patches

Man mus sich von hier die diff Datei herunterladen. Zum Patchen öffnet man eine Konsole, navigiert mittels

 cd

in das Verzeichnis, in welchem sich die diff befindet und gibt folgenden Befehl ein:

 sudo patch -pl < rcS-diff

Auf die Frage File to patch gibt man das File /etc/event-d/rcS.diff an. Anschließen muss man wie hier den Bootlader noch anpassen. Nun sollte beim Nächsten Neustart das Boosplash optimal angezeigt werden.

Mandriva

Unter Mandriva kann man den Bootsplash bequem über das MCC einrichten.

Einrichten des Bootsplashes über das MCC

Dazu öffnet man Start->System->Den Computer konfigurieren->Systemstart->Den grafischen Stil beim Hochfahren auswählen. Dort kann man dann ein Bootsplash-Theme einrichten.

Achtung: Master Boot Record

Mandriva trägt den vga Wert für den Bootsplash selbst ein, allerdings nur in den eigenen Bootlader. Wenn Sie Mandriva als zweit System nutzten und einen anderen Bootlader, als den von Mandriva im MBR haben, benutzen Sie dieses grafische Tool 'nicht', weil Mandriva Linux den bestehenden Bootlader im MBR überschreiben wird. Wenn Sie allerdings Mandriva Linux per Chainloader booten und der Bootlader sich nicht im MBR befindet sollte das keine Probleme machen.


Bootlader-Theme selbst erstellen

Autor: Geier0815
Damit ist das Bild gemeint, das am Anfang des Bootvorgang zu sehen ist, in dem man das zu Startende Betriebsystem auswählt.
Man braucht dazu eine Bitmap-Datei, die in der Auflösung von 640x480px mit 16 Farben vorhanden sein muss. Dies kann ein unkomprimiertes Bitmap mit 153718 bytes oder auch ein komprimiertes als auch ein OS/2 Bitmap mit 153674 bytes sein. Dieses muss im Verzeichnis /boot abgelegt sein.
Auf dieses Bitmap wird eine Tabelle gelegt, in der die Betriebssysteme aufgelistet werden, sowie der Timer, der die Zeit bis zum Start des Standardbetriebssystems runterzählt.
Die Einträge müssen im globalen Abschnitt der lilo.conf eingetragen werden.

Werte

bitmap= /boot/Bild.bmp

Tabelle 1: bmp-table= x, y, ncol, nrow, xspc, spill
Tag Wert Funktion
x 1-80; 0p-632p gibt die Position der ersten Spalte der Tabelle an, kan auch als Pixelangabe erfolgen
y 1-30; 0p-464p gibt die Positin der ersten Zeile der Tabelle an, kann auch als Pixelangabe erfolgen
ncol 1-4 gibt die Anzahl der Spalten an die für die Kernelimage/other Einträge verwendet werden
nrow xxx gibt die Anzahl der Zeilen pro Spalte an, also quasi die Höhe der Spalten in der Tabelle
xspc 15 Zeichen; max. 17 Zeichen gibt die Breite der Spalten an, da die Einträge 15 Zeichen umfassen dürfen und ein Leerzeichen vor und hinter dem Eintrag freibleiben muß, ist die Mindestanzahl 17. Werden mehr Zeichen verwendet als die Spalte breit ist, wird der Eintrag am Ende abgeschnitten
spill Standard: 4; xxx gibt die Anzahl der Einträge pro Spalte an bevor die nächste Spalte verwendet wird


Tabelle2: bmp-colors= fg, bg, sh, h-fg, h-bg, h-sh
Tag Wert Funktion
fg xxx gibt die Vordergrundfarbe von normalem Text an
bg "" gibt die Hintergrundfarbe von normalem Text an, wenn dieser Wert nicht angegeben wird, wird transparent gewählt und das eigentliche Bild ist zu sehen
sh "" gibt die Schattenfarbe der Textes an, wird er weggelassen, werden keine Schatten verwendet
h-fg "" gibt die Vordergrundfarbe von hervorgehobenem Text an
h-bg "" gibt die Hintergrundfarbe von hervorgehobenem Text an, wird kein Wert angegeben wird transparent gewählt
h-sh "" gibt die Schattenfarbe von hervorgehobenem Text an, wird kein Wert angegeben werden keine Schatten verwendet


Tabelle3: bmp-timer= tx, ty, t-fg, t-bg , t-sh
Tag Wert Funktion
tx xxx gibt die Position der Spalte an, in der der Timer angezeigt wird
ty "" gibt die Position der Zeile an, in der der Timer angezeigt wird
t-fg "" gibt die Vordergrundfarbe des Timers an
t-bg "" gibt die Hintergrundfarbe des Timers an, wird der Wert weggelassen, wird der Wert 0 gewählt, Transparens ist nicht möglich
t-sh "" gibt die Farbe des Schattens an, wird er weggelassen, wird kein Schatten verwendet


Beispiel

Ein Beispiel dafür wie der Eintrag in der lilo.conf aussehen könnte:

bitmap=logo64a.bmp
bmp-colors=6,9,0,15,9,0
bmp-table=59,5,1,19,
bmp-timer=66,28,6,8,0
Achtung: Bootlader Lilo

Wenn der Bootlader Lilo verwendet wird, muss man, nachdem man Änderungen an der lilo.conf durchgeführt hat, in einer Konsole als root

 /sbin/lilo

ausführen



zurück zum Bootmanager