• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Bootsplash ändern (openSUSE 11.4)

RME

Advanced Hacker
Hallo,

Ich weiss es gibt viel wichtigeres, aber...

Der Bildschirm-Display während dem openSUSE 11.4 System-Start (der grau-grüne Vorhang) ist sicherlich die hässlichste Variante von allen die ich kenne. Ich habe mir daher die Mühe gemacht diese Displays mehr nach meinem Geschmack zu verändern. Dies ist leider (und auch erstaunlicherweise) nicht ganz so trivial wie ich dies eigentlich erwartet hätte.

Ich teile hier das Howto falls sich vielleicht noch andere ein etwas freundlicheres Linux-Welcome wünschen.

Es gibt drei Splash-Images welche sich beim Booten zeigen:

=1=
den GRUB-Menü Hintergrund -- hier wird das GRUB Menü angezeigt.

=2=
den Boot-Splash (sofern dieser aktiviert ist) -- hier werden entweder ausführliche Bootmeldungen oder ein "Fortschrittsbalken" angezeigt (je nach Konfiguration). Im letzteren ist der Splash abgedunkelt um die Schrift besser lesbar zu machen.

=3=
der Login-Splash -- hier zeigt sich das Login-Fenster.

=4=
Zudem wird auch beim herunterfahren der Boot-Splash von -2- gezeigt.

Im Prinzip können alle drei das gleiche Image zeigen. Bei mir ist jetzt das erste etwas neutrales (eine Landschaft) und die zwei weiteren (beide gleich) etwas openSUSE mässiges.

GRUB-Menü Splash:

back.jpg (alt)

back.jpg (neu)

Boot- und Login-Splash:

silent-1280x1024.jpg

bootsplash-1280x1024.jpg

========== 1 ==========

Den Boot-Menü Splash ganz von Null neu zu gestalten (vielleicht sogar mit Animation) ist nicht ohne ziemlichen Aufwand möglich. Wenn hingegen beim bestehenden Splash lediglich das Splash-Image ausgetauscht werden soll (also der hässliche Vorhang) ist dies relativ einfach -- dies habe ich so getan.

- Die Grafik (und Animation falls vorhanden), konfiguration, etc. ist enthalten in der Archiv Datei "/boot/message"

- Das Paket "gfxboot" inkl. "gfxboot-devel" wird benötigt (installieren via YaST oder zypper).

Die Dateien sind:

Code:
  /usr/share/gfxboot
  /usr/sbin/gfxboot
  /usr/sbin/gfxboot-font
  /usr/sbin/gfxboot-compile
  /usr/share/doc/packages/gfxboot-devel
  /usr/share/man/man8/gfxboot.8.gz
  /etc/bootsplash/themes/openSUSE/cdrom/gfxboot.cfg
  /usr/share/doc/packages/gfxboot-devel/gfxboot.txt
  /usr/share/doc/packages/gfxboot-devel/gfxboot.html
  /usr/share/gfxboot/themes/openSUSE/src/gfxboot.cfg

(1)
In der Datei "/boot/grub/menu.lst" muss das Kommando "gfxmenu" aufgeführt werden (ist zumeist bereits vorhanden):

Code:
   ----------
   # Modified by YaST2. Last modification on Fri Apr 29 19:37:40 CEST 2011
   # THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
   # Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

   default 0
   timeout 8
   ##YaST - generic_mbr
   gfxmenu (hd0,4)/boot/message      <<< hd0,4 den Gegebenheiten entsprechend anpassen.
   ##YaST - activate
   ...
   ...
   ----------

(2)
Das "gfboot" Archiv inspizieren (Default ist "/boot/message" sonst anpassen > man page)
Code:
   # gfxboot --ls
Eine Datei anschauen (z.B. back.jpg):
Code:
   # gfxboot --show-file back.jpg > back.orig.jpg  (mit einem Image Viewer anschauen)
oder die config Datei:
Code:
   # gfxboot --show-file gfxboot.cfg
Eine Datei hinzufügen oder ersetzten (z.B. den Splash):
Code:
   # gfxboot --add-files back.jpg

(3)
Das Background Image (GRUB-Menü Hintergrund) ist "back.jpg"

Einen neuen JPEG Image erstellen:

Grösse = 800x600
Sampling Faktor = 2x2,1x1,1x1 (411)
Code:
   > convert back.jpg -sampling-factor 2x2,1x1,1x1 back.jpg
(bei grösserem Sampling Faktor wird das Image möglicherweise nicht dargestellt)
(convert ist vom Paket ImageMagick)

(4)
Falls eine Virtual Machine installiert ist, kann der neue GRUB-Menü Splash mit "gfxboot --preview" getestet werden.

-----
Für mehr siehe auch hier:

http://en.opensuse.org/SDB:Gfxboot
http://www.listware.net/201102/open...se-branding-howto-gfxboot-and-bootsplash.html

========== 2 ==========

(1)
Um eine Boot-Splash zu sehen muss in der Datei "/boot/grub/menu.lst" die Variable "splash" auf "splash=verbose" (oder "splash=silent") gesetzt werden.

(2)
Die Boot-Splash Images welche der Auflösung des Bildschirms entsprechen (z.B. 1280x1023) mit neuen Images ersetzten (alle anderen ebenfalls zu ersetzten wäre nutzlos):
Code:
   /etc/bootsplash/themes/openSUSE/images/bootsplash-1280x1024.jpg
   /etc/bootsplash/themes/openSUSE/images/silent-1280x1024.jpg
>>> "bootsplash-1280x1024.jpg" sollte hier eine "verdunkelte" Version von "silent-1280x1024.jpg" sein (ist lediglich ein dunkler Background hinter den Boot- und Shutdown-Meldungen). Dies kann mit GIMP leicht gemacht werden (Colors > Curves).

Die config. Datei muss nicht editiert werden:
Code:
   /etc/bootsplash/themes/openSUSE/config/bootsplash-1280x1024.cfg
(3)
Die Datei "initrd-xxx" muss jetzt neu erzeugt werden:
Code:
   # mkinitrd
----------

Die beiden neuen Image Dateien (bootsplash-nnn.jpg und silent-nnn.jpg) könnten auch woanders abgelegt werden. Dann müsste die Datei "/etc/sysconfig/bootsplash" entsprechend angepasst werden. Zudem wäre dann ein "suseconfig" notwendig.
Code:
   # suseconfig

========== 3 ==========

(1)
Die Login-Splash Images welche in etwa dem Bildschirm-Auflösungs-Verhältnis entsprechen mit neuen Images ersetzen. Zum Beispiel: für ein 1280x1024 Display, ersetze die 1600x1200 Images.

Es gibt nur zwei Möglichkeiten:
Code:
1600x1200 -- Verhältnis = 1.33, und
1920x1200 -- Verhältnis = 1.6
Zudem sind noch Screenshots zu erstellen -- einfach im GIMP (oder sonst was) die Grösse reduzieren.

Die Dateien sind hier:
Code:
   /usr/share/kde4/apps/kdm/themes/SUSE/background-1600x1200.jpg
   /usr/share/kde4/apps/kdm/themes/SUSE/screenshot.png  (approx. 160x120)

   /usr/share/wallpapers/openSUSEdefault/contents/images/1600x1200.jpg
   /usr/share/wallpapers/openSUSEdefault/contents/screenshot.jpg  (approx. 400x250)
und noch metadata entsprechend anpassen:
Code:
   /usr/share/wallpapers/openSUSEdefault/metadata.desktop
>>> die screenshot.jpg Dateien habe verschiedene Grössen (die genaue Grösse ist unwesentlich aber sollte in etwa so sein wie gegeben).


========== nicht sicher ==========

Vor dem Reboot, die bisherige Image Datei in "/var/tmp/kdecache-..." löschen:
Code:
   /var/tmp/kdecache-xyz/ksplashx/ksplashx-suse-1280x1024-background.jpg
========== zu erstellende Images (Zusammenfassung) ==========

Code:
back.jpg
silent-1280x1024.jpg
bootsplash-1280x1024.jpg (abgedunkelte Version von silent-1280x1024.jpg)
background-1600x1200.jpg
screenshot.png           (160x120 von background-1600x1200.jpg)
1600x1200.jpg            (identisch zu background-1600x1200.jpg)
screenshot.jpg            (400x250 von 1600x1200.jpg = background-1600x1200.jpg)
----------
Etwas viel, ich weiss. Vielleicht gibt es eine einfachere Methode; wenn nicht, würde ich sagen dass hier von Seitens openSUSE etwas Handlungsbedarf besteht.

Gruss,
Roland
 
OP
RME

RME

Advanced Hacker
Hallo josef-wien,

Danke vielmals für Deine Antwort und den Link -- werde den Artikel mal genauer anschauen.

Gruss,
Roland
 
Ich weiß ja nicht ob das noch aktuell ist, aber bei mir unter 11.4 funktioniert das nicht. Anstelle vom Bild habe ich nur schwarze Hintergründe und die Auflösung ist ganz niedrig (würde sagen 640x480).

Als nächstes probiere ich den Wiki-Eintrag aus. (EDIT: Letzte Änderung 2008, ok hat sich erledigt)
 
Oben