Legacy Grub zeigt nichts an

Letzte Woche hatte ich im Testlabor ein nettes Phänomen das ich hier mal beschreiben möchte. Ich habe mit dem neuesten openSUSE 13.1 rumgespielt, natürlich der 64bit Version und die Kiste auf der ich das angeschaut habe war eine etwas größere Workstation mit Doppel-Xeons, insgesamt 48 CPU-Cores. Das openSUSE wurde wie fast alles im Labor via PXE installiert was dann auf der Kiste eine „Legacy“-Installation macht, also nix mit dem supermodernen UEFI Bootloader-Zeugs.

Soweit so gut. Damit diese Workstation mit einer Intel Xeon Phi Prozessorkarte (weitere 228 bzw. 240 Cores) bestückt werden kann muss man im BIOS einen Schalter setzen, der für PCI-Geräte einstellt, dass die Ressourcen nun auch im Adressraum oberhalb der 4 GB-Grenze für 32bit-Systeme liegen darf. Das habe ich gemacht weil ich das für eine Fehleranalyse brauchte, aber dann bemerkt, dass das installierte openSUSE nun keinen Grub-Bootscreen mehr anzeigt, sondern nur noch einen schwarzen Bildschirm.

Die Erklärung ist relativ einfach:

  • Die Legacy-Installation sorgt dafür, dass ein 32bit Binary von Grub zum Booten verwendet wird.
  • Dieses 32bit Binary kann natürlich nur die PCI-Ressourcen verwenden die in seinem 32bit-Adressraum vorhanden sind
  • Mit dem „above 4GB decoding“ wird der Framebuffer für die graphische Bootkonsole aber jenseits der 4 GB-Grenze konfiguriert. Ergebnis: Nicht für Grub in der 32bit Version nutzbar.

Zwei Möglichkeiten gibt es das Problem zu beheben:

  • Man konfiguriert in Yast2 den Bootloader so, dass auf den graphischen Bootscreen verzichtet wird, denn Textausgabe funktioniert natürlich
  • Man installiert von DVD und UEFI, dann wird ein 64bit Grub installiert der auch keine Probleme hat

Für mich bedeutet dieses Problem allerdings, dass ich mir jetzt mal ernsthaft Gedanken machen muss ob es eine Möglichkeit der UEFI-Installationen via PXE gibt, sozusagen einen pxelinux.0 mit UEFI-Support. Denn DVD-Installationen will im Großkundenumfeld kaum einer machen müssen.

[ratings]