GRUB2 grafischer Bootmanager

GRUB2 reicht mittlerweile aus, wenn man ein neues MacBook Pro entweder mit standardmässig vorhandenen Mac OS X oder mit Linux booten möchte. Die Hilfe von rEFIt oder dessen Nachfolger benötigt man nicht mehr.
Sehr ansprechend ist der Bootmodus von GRUB2 allerdings nicht – speziell auf einem High-DPI MacBook Pro erscheint die textuelle Auswahl winzig.

Daher entschied ich mich eine – möglichst einfache – grafische Konfiguration zu erstellen. Eine perfekte Quelle um damit anzufangen sind die GRUB2 Seiten auf dem Wiki Ubuntuusers.

Gestartet wird mit einem Thema – ich nenne es mal dualboot – und dem Anlegen eines gleichnamigen Verzeichnis in


/boot/grub/themes/dualboot

Maßgeben dort ist das grafische Layout – bei dem übrigens die Einträge nur vertikal angeordnet werden können. Ohne weitere Erklärung sieht dieses File folgendermaßen aus:


# thema dualbook
# speziell für die mobile workstation myHost entworfen
# Basis war das Thema "ubuntuusers.de"

# globale Einstellungen:
# ----------------------

# Notwendig um den Standardtext zu deaktivieren
title-text: "welcome on myHost - mobile workstation"
title-font: "Ubuntu Regular 72"

# Notwendig für Standardschrift im Terminal
terminal-font: "Unknown Regular 16"

# Hintergrundbild
desktop-color:"#9ba9bf"

# Beginn Komponentenliste:
#-------------------------

+ boot_menu{
# Position des ersten Menüeintrags
top = 400
left = 800
height = 1200
width = 1000

# Schrift der Menüeinträge
selected_item_color = "black"
item_color = "#888888"
item_font = "Ubuntu Regular 40"
selected_item_font = "Ubuntu Regular 40"

item_height = 314
item_width = 800
item_spacing = 20

icon_height = 314
icon_width = 265
item_icon_space = 40
}

Die benötigten Schriften (hier Ubuntu Regular), muss man pro Größe einzeln als .pf2 Datei mittels dem Kommando grub-mkfont erzeugen.

Die Icons müssen im ordern dualboot/icons abgelegt werden. Ich habe hier jeweils ein transparentes Icon für Linux und für Mac OS X mit der vertikalen Größe von 314px abgelegt. Der Dateiname (ohne Suffix) entspricht dabei dem class Namen des sog. menuentry in der Datei /boot/grub/grub.cfg welche allerdings generiert wird.
Daher muss bspw. die Datei /etc/grub.d/40_custom folgendermaßen angepasst werden:

menuentry "Mac OS X" --class MacOS {
exit
}

In /boot/grub/themes/dualboot/icons/ liegt die Datei MacOS.png

Zuletzt muss die globale GRUB2 Konfigurationsdatei noch angewiesen werden, dieses Thema auch zu benutzen, daher gibt es in der Datei /etc/default/grub folgende Einträge:


GRUB_GFXMODE=2560x1600
GRUB_THEME=/boot/grub/themes/acrux/theme.txt

Zudem habe ich noch die sinnlosen auto-detection Einträge von GRUB2 für Mac OS X (32- und 64-bit) entfernt:


# prevent GRUB internal Mac entries
GRUB_DISABLE_OS_PROBER=true

Mit diesen Anpassungen erscheint der Bootmanager grafisch ansprechend auf dem Niveau von rEFIt, welches jahrelang zuvor den Standard gesetzt hat.