back: HIB Homepage
  Prof. Urban
Materialien für Mathematik, Physik, Informatik
 
 
zurück
 

Grub Splashscreen

Neuere Linux-Distributionen (Ubuntu) unterstützen Splash Images für den Bootloader Grub. Dabei wird die Menüanzeige mit einem frei wählbaren Bild hinterlegt

(Für ältere Versionen muss man das Paket grub-splashimages nachladen.
Kontrolle: öffne die Datei /boot/grub/stage2 mit einem Hex- oder Texteditor und suche darin die Zeichenfolge 'splashimage' (kleingeschrieben). Ist sie vorhanden, unterstützt Dein Grub diese Erweiterung.)

Es ist eigentlich nur nötig, ein Bild zu erzeugen, dieses abzuspeichern und dem Bootloader die passenden Anweisungen zu geben.

1.) Das Bild

muss ein ganz spezielles Format haben: 640x480 Pixel groß, 14 Farben (zwei bleiben dem Bootmenü vorbehalten), Format xpm, komprimiert.

Mit Gimp: Bild 640x480 erstellen, dann Image/Mode/Indexed wählen, in 14 Farben mit optimierter Palette konvertieren. Dithering je nach Geschmack. Abspeichern ins Homeverzeichnis als splash.xpm.
Danach mittels gzip splash.xpm komprimieren

ODER man hat bereits ein Bild, etwa splash.png, vorliegen.
Dann einfach convert -resize 640x480 -colors 14 splash.png splash.xpm && gzip splash.xpm

Textfarben in menu-lst für Normal und Highlight einstellen: jeweils Schriftfarbe und Zeichenhintergrund, EGA Farben (green, white, light-red,...)
z.B. color black/white black/red
Bei geänderter Farbpalette gelten diese Einträge aber nur als Farbindex.

2.) Ein root-Fenster öffnen

Das Bild ins Grub-Verzeichnis verschieben (oder dort in ein eigenes Unterverzeichnis): cp splash.xpm.gz /boot/grub,
wir wechseln ebenfalls in dieses Verzeichnis. und machen eine Sicherheitskopie der Menü-Definition menu.lst

3.) editieren von menu.lst

mittels gedit menu.lst.
Wir müssen herausfinden, wie der Grub-Loader dieses Verzeichnis anspricht. Dazu blättern wir nach unten und finden etwa
      title Ubuntu, kernel 2.6.15-23-k7
      root (hd0,9)
      kernel /boot/vmlinuz-2.6.15-23-k7 root=/dev/hda10 ro quiet splash
      initrd /boot/initrd.img-2.6.15-23-k7
      savedefault
      boot
Ubuntu hat demnach als root-Partition bei mir (hd0,9) - bei Dir wird etwas anderes stehen Du verwendest natürlich Deinen Wert - der Kernel wird in /boot gesucht.
Das Grub-Verzeichnis liegt genau unter diesem. Somit lautet die Befehlszeile für das Splash Image, die eigentlich nur aus einem Grub-verständlichen Zeiger auf die Bilddatei besteht
splashimage=(hd0,9)/boot/grub/splash.xpm.gz
und genau das tragen wir am Anfang der menu.lst ein. Und damit wir sind fertig. Einem Neustart des Systems mit grafischer Finesse steht nichts mehr im Weg.


Tip: 14 Farben sind nicht viel (Der Grund für 16 Farben liegt darin, dass seit etwa 1980 jede IBM-PC kompatible Grafikkarteeinen Modus 640x480 mit 16 Farben beherrschen muss. Zum Zeitpunkt der Menüanzeige ist noch keine Hardware-Erkennung gelaufen, also muss man sich damit zufrieden geben). Farbverläufe und Farbabstufungen werden nicht gut aussehen. Kontrolliere die Farben des Menüs (schwarz-weiß oder das, was Du in menu.lst eingetragen hast) und wähle dazu kontrastierende Farben, die die Schrift gut erkennen lassen.

Testphase:

Lege alle Kandidaten für Splash Images in einen Unterordner bilder von Grub und nummeriere sie durch: 1.xpm.gz, 2.xpm.gz,...
Starte den Rechner neu. Wenn der Bootloader erscheint, drücke 'c' um die Grub-Konsole zu erhalten.
Nun gibst Du Deine Bootpartition an (Deine heißt - siehe oben - vermutlich anders)
grub> root (hd0,9)
und wähle ein Bild
grub> splashimage=/boot/grub/bilder/1.xpm.gz
Das Bild wird angezeigt und kann bewundert werden
grub> splashimage=/boot/grub/bilder/2.xpm.gz
zeigt das nächste. Und so weiter.

Achtung: in dieser Phase gilt noch die amerikanische Tastaturbelegung! ( und ) sind bei 9 und 0 zu finden, = beim Apostroph ´, / beim Bindestrich -.
Wenn Du genug hast, oder etwas nicht klappt, starte mittels CtrlAltDel neu.


--- © Wolfgang.Urban@schule.at ---