Splash Screen
Inhaltsverzeichnis
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. |
openSUSE
Diese Anleitung setzt die Kenntnis folgender Artikel vorraus: |
|
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 drigends 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.
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: |
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
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 |
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 |
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 |