Das Blog von Benni und Jonas
  • GRUB 2: Hintergrundbild ändern

    Geschrieben am 25. August 2009 benni 4 Kommentare

      Nachdem Jonas schon erklärte, wie man mit grub2-gfxmenu den Bootvorgang mit einem ganz neuen Programm verschönert, möchte ich jetzt einmal erklären, wie man auf einfachen Weg das Hintergrundbild festlegen kann. GRUB 2 ist die neue Version des klassischen Bootloaders GRUB, der in vielen Distributionen innerhalb der nächsten Releases Einzug erhält. Dazu gehört beispielsweise Ubuntu 9.10, Karmic Koala. Es folgt nun eine sehr rootbefehllastige Anleitung ;) .

      Vorbereitung

      Zunächst benötigt man natürlich ein Bild. Das kann man sich mit GIMP selber zaubern, oder man sucht sich ein passendes Bild im Internet. Voraussetzung ist nur, dass imagemagick damit auskommt, und das ist bei nahezu allen Bildformaten der Fall. Ich habe mir etwa ein Bild gebastelt*, passend zu meiner Betriebssystemversion.

      Man öffnet nun ein Terminal im Ordner, in dem sich das Bild befindet. Sollte imagemagick noch nicht installiert sein, muss man dass nun mit einem

      # apt-get install imagemagick

      nachholen. Ist es installiert, bearbeitet man das Bild mit dem Befehl

      convert background.png -resize 640x480! -depth 8 $HOME/grubbild.png

      , so dass es für GRUB2 tauglich ist.

      Die Auflösung 640×480 ist insofern bindend, als dass sie in der grub.cfg in der Zeile set gfxmode=640x480 festgesetzt ist. Die Auflösung des Bildes sollte mit dem Eintrag übereinstimmen, da GRUB2 die Bilder nicht skalieren kann. Mit Rootrechten verschiebt man das Bild nun in den Ordner /boot/grub/, am einfachsten mit dem Befehl

      # cp grubbild.png /boot/grub/grubbild.png

      Das Bild vermerken

      Zunächst sollte man die beteiligten Dateien sichern:

      # cp /etc/grub.d/05_debian_theme /etc/grub.d/05_debian_theme.backup
      # cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup

      Dann öffnet man die Datei, in der das Hintergrundbild vermerkt ist. Diese Datei befindet sich im Ordner /etc/boot/grub.d/ und nennt sich 05_debian_theme. Mit einem

      # gedit /etc/grub.d/05_debian_theme

      öffnet man sie mit dem grafischen Editor gedit (andere Editoren funktionieren natürlich auch) und navigiert in die Zeile 16, die etwa so lautet

      for i in {/boot/grub,/usr/share/images/desktop-base}/BILD.{png,tga} ; do

      Soll bedeuten: In den beiden Ordnern /boot/grub und /usr/share/images/desktop-base wird nach Hintergrundbildern mit dem Namen BILD gesucht. Und zwar nach den Dateiformaten tga und png. Dort gibt man nun den Dateinamen an, von dem Bild das man eben erstellt hat.
      for i in {/boot/grub,/usr/share/images/desktop-base}/grubbild.{png,tga} ; do
      Schriftfarben kann man ab Zeile 23 bearbeiten, wenn es heißt
      if background_image `make_system_path_relative_to_its_root ${bg}` ; then
      set color_normal=black/black
      set color_highlight=magenta/black
      else

      Die zweite Farbe gibt jeweils den Hintergrund an und „black“ bedeutet so viel wie „durchsichtig“.

      Der Befehl

      # update-grub

      erstellt nun eine neue grub.cfg, die „neue“ menu.lst. Ob das Bild richtig angekommen ist, sieht man schon im Terminal, wenn es heißt.
      $ sudo update-grub
      Generating grub.cfg ...
      Found Debian background: grubbild.png
      Found linux image: /boot/vmlinuz-2.6.31-6-generic
      ...

      Das Ergebnis

      GRUB2 mit Hintergrundbild

      Kann sich sehen lassen, oder?

      *) Bild bei flickr gehostet. Frei verfügbar unter der Creative Commons Lizenz (siehe Vorort) .

      Share and Enjoy:
      • Facebook
      • Digg
      • del.icio.us
      • Google Bookmarks
      • Identi.ca
      • MisterWong.DE
      • MySpace
      • Reddit
      • Slashdot
      • Twitter
       

      Kommentare:

      • Laura Nobusch

        So nicht ganz richtig – das Bild kann durchaus noch andere (ggf. höhere) Auflösung haben. Siehe dazu auch das WIKI http://wiki.ubuntuusers.de/Baustelle/GRUB2/Thema.

        gruß Laura

      • Hallo Laura.

        Unter dem von dir gegebenen Link steht genau das gleiche (sogar noch “strenger” formuliert):

        Das Hintergrundbild eigener Wahl muss in exakt einer der angezeigten Auflösung von vbeinfo vorliegen, Grub2 kann das Bild nicht selbstständig skalieren. Dieses ist mit einem Bildbearbeitungs-Programm nach Wahl einfach einzustellen. #

        Was soviel heißt wie das, was ich oben geschrieben habe. Man sollte in der grub.cfg eine im VBE-Modus unterstützte Auflösung haben (per default eigentlich erfüllt) und diese Auflösung auf das Bild übertragen.

      • Laura Nobusch

        Hallo Benni, lies mal was Du geschrieben hast und was im WIKI steht:

        Zitat: Die Auflösung 640×480 ist insofern “bindend”, als dass sie in der grub.cfg in der Zeile mit “set gfxmode=640×480″ festgesetzt ist. Zitat-Ende

        Und genau das ist verkehrt. Jede bei “vbeinfo” erfragte und zum Monitor passende Pixel-Info (aber eben nur eine von diesen) kann nun in die Datei /etc/default/grub (und bitte nur hierein) übertragen werden und wird dann bei einem “update-grub” bzw. “grub-mkconfig” in die grub.cfg eingetragen. Und je größer das Basisbild passend zu der obigen vbeinfo, um so besser ist das spätere Ergebnis so mancher Arbeit (siehe zusätzlich das genannte WIKI -> Experten-Info zur Bildanpassung). Und auch Dein Koala gewinnt dann an Schärfe auf einem großen Monitor.

        gruß Laura


      1 Trackbacks / Pingbacks

      Einen Kommentar schreiben: