Splash Screen

Aus Linupedia.org
Version vom 8. Juni 2007, 10:48 Uhr von Obec (Diskussion | Beiträge) (Installieren des Patches)
Wechseln zu: Navigation, Suche
Höhe=24px
Dieses HOWTO zu Linux oder der Abschnitt davon braucht eine Überarbeitung. Weitere Informationen findest Du hier. Deine Hilfe ist gefragt, das HOWTO zu verbessern. Danach entsorge bitte diese Signierung.
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

Einleitung

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

Bootsplash einrichten

Achtung:

Diese Anleitung ist rein experimentel. 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 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.


SuSE

Diese Anleitung setzt die Kenntnis folgender Artikel vorraus:
  • Umgang mit einem Editor, idealerweise 'kwrite'
  • 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 kwrite /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 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.

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 *buntu 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 unter 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

Voraussetzungen

Bootsplash selber erstellen

Autor: Geier0815
Damit ist dieses hübsche Bild gemeint, das am Anfang des Bootvorganges zu sehen ist, wo man das zu startende Betriebssystem auswählt.
Wir brauchen dazu eine Bitmap-Datei in der Auflösung von 640x480 mit 16 Farben. Dies kann ein unkomprimiertes Bitmap mit 153718 bytes oder auch ein komprimiertes oder ein OS/2 Bitmap mit 153674 bytes sein. Dieses muß im Verzeichnis /boot abgelegt sein.
Auf dieses Bitmap wird quasi eine Tabelle gelegt wo die Betriebssysteme aufgelistet werden, sowie der Timer, der die Zeit bis zum Start des Standardbetriebssystems runterzählt.
Die Einträge müßen im globalen Abschnitt der Lilo.conf eingetragen werden.
Dran denken: Nach Änderungen an der lilo.conf muß lilo aufgerufen werden!


bitmap = /boot/Bild.bmp

bmp-table = [x],[y],[ncol],[nrow],[xspc],[spill]

[x] gibt die Position der ersten Spalte [1-80] der Tabelle an, kann auch als Pixelangabe erfolgen [0p-632p]

[y] gibt die Positin der ersten Zeile an [1-30] der Tabelle an, kann auch als Pixelangabe erfolgen [0p-464p]

[ncol] gibt die Anzahl der Spalten an die für die Kernelimage/other Einträge verwendet werden [1-4]

[nrow] gibt die Anzahl der Zeilen pro Spalte an, also quasi die Höhe der Spalten in der Tabelle

[xspc] 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] gibt die Anzahl der Einträge pro Spalte an bevor die nächste Spalte verwendet wird. Der Standardwert ist 4


bmp-colors = [fg],[bg],[sh],[h-fg],[h-bg],[h-sh]

[fg] 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


bmp-timer = [tx],[ty],[t-fg],[t-bg],[t-sh]

[tx] 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


Ein Beispiel dafür wie der Eintrag in der lilo.conf aussehen kann:

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


Weiterführende Links

zurück zum Bootmanager