Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

26.03.2013, 20:12

Manuelles installieren von Grub auf UEFI-System

Hallo,

da ich jetzt mit grub2 für i386-BIOS klarkomme, wollte ich jetzt mein Stage4 auf einem UEFI-System installieren. Soweit so gut: Die Platte habe ich mit gdisk mit gpt-Tabelle formatiert bekommen und auch die EF00 efi-Partition angelegt, welche unter /boot/efi eingebunden wird.

Da ja nach UEFI-Standard immer EFI/BOOT/bootx64.efi gebootet wird, wenn nicht anders festgelegt, habe ich also versucht grub2 manuell dort hinzuinstallieren. (Da die Gentoo-Live-CD nicht im UEFI-Modus booten kann, peile ich eine manuelle Installation an). Habe dazu folgendes ausgeführt:

Quellcode

1
cp /usr/lib/grub2/x86_64-efi /boot/efi/EFI/BOOT

Quellcode

1
grub2-mkimage -O x86_64-efi -d /usr/lib/grub2/x86_64-efi -o /boot/efi/EFI/BOOT/bootx64.efi -p xfs ext2 fat lvm part_msdos part_gpt search_fs_uuid normal

Quellcode

1
grub2-mkconfig -o /boot/efi/EFI/BOOT/grub.cfg


Dabei habe ich die Optionen "xfs ext2 fat ..." nach gutso gewählt, weil ich nach Googeln angenommen habe, daß das passen könnten. Nur xfs habe ich dazugenommen, da ich dieses Dateisystem nutze.

Wenn ich jetzt boote, dann läuft zunächst das UEFI-BIOS durch. Wenn dann Grub geladen werden sollte, dann erscheint in der linken oberen Ecke in Großbuchstaben das Wort GRUB dahinter ein blank und ein kleiner blinkender Cursor. ;(

Hat jemand eine Peilung was da schief laufen könnte?
Beste Grüße
GOS

2

27.03.2013, 17:05

Habe jetzt Erfolge erzielt. Und zwar:

Mit Hilfe dieser Anleitung habe ich eine "krüppelige" EFI-Applikation auf die EFI-Partition installiert:

http://dev.gentoo.org/~scarabeus/grub-2-guide.xml

Dabei habe ich allerdings berücksichtigt, daß ich getrennte EFI- und Boot-Partitionen habe. Soll heißen: Grub2 auf EFI-Platte, Kernel auf boot-Platte.

Konkret: Habe mit Gentoo-Live-CD gebootet, Platte mit gdisk formatiert (1xEFI-FAT32 mit EF00 Label, 1x boot (Linux-Label,xfs), 1xswap (Swap-Label,swap), 1x root (Linux-Label,xfs), 1x home (Linux-Label,xfs)). Vorher mit gdisk die Partitiontabelle auf "gpt" stellen. (Aufpassen, amcht die gesamte Platte platt :thumbsup: )

Danach wie üblich chrooten und stage4 installieren. Dabei war es wichtig, daß der Grafikkartentreiber auf dem Rechner funzt, weil im Folgenden der Framebuffer absäuft, aber dann irgendwann X erscheint.

Dann folgendes ausführen:

Quellcode

1
grub2-mkimage -p /efi/grub2 -o /boot/efi/efi/grub2/grub.efi -0 x86_64-efi part_gpt xfs fat video_fb


Dabei ist angenommen, daß die EFI-Partition unter /boot/efi gemountet ist und auf Ihr das Subverzeichnis EFI/GRUB2 existiert (insgesamt also /boot/efi/EFI/GRUB2)

Anschließend muß dann das Verzeichnis /boot/efi/EFI/GRUB2/x86_64-efi angelegt werden. Dort kopiert man den gesamten Inhalt aus /usr/lib/grub/x86_64-efi rein.

Dann erstellt man noch mittels eines

Quellcode

1
grub2-mkconfig -o /boot/efi/efi/grub2/grub.cfg

eine Grub.cfg.

Wenn man jetzt wie ich stolzer Besitzer eines Asus P8P67 ist - so ein sch... Board hatte ich noch nie - dann sagt man

Quellcode

1
cp /boot/efi/efi/grub2/grub.efi /boot/efi/SHELLx64.EFI

Damit ist es dann möglich, über das efi-BIOS mit hilfe von "Launch efi-Shell bla bla" dieses "krüppelige" Grub zu starten und damit das System im UEFI-Modus hochzuziehen.

Dann ist es endlich möglich, mit einem

Quellcode

1
grub2-install --target=x86_64-efi --boot-directory=/boot/efi/efi --bootloader-id=GRUB --recheck

grub richtig zu installieren.

Dann noch mit

Quellcode

1
efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\GRUB2\\GRUB.EFI -L GRUB 

dem UEFI-BIOS mitteilen, daß es GRUB auf der EFI-Platte gibt.

Dann kann im EFI-BIOS GRUB als standart zum Booten angegeben werden. Dann funzte bei mir auch der Framebuffer. Warum das nicht gleich gefunzt hat ist mir irgendwie unklar.

Mann sollte sich dann nochmal den SHELLx64.EFI mit der neuen Version anlegen. Sollte nämlich das BIOS mal seine Einstellungen vergessen, kann man damit die Kiste ganz normal hochziehen. Sonst hat man die A..-Karte gezogen.

Probleme bestehen noch dahingehen, daß es nicht gebacken bekomme, den Framebuffer von 1024x768 auf 1200x1024 hochzustellen. Hat da vielleicht jemand einen Plan?

Grüße
GOS

PS: Nach UEFI-Standart soll angeblich immer von der EFI-Platte /EFI/BOOT/BOOTX64.EFI gebootet werden, wenn nichts anderes zu finden ist. Bei meinem Asus-Board ist das offensichtlich nicht der Fall. Eventuell können aber Besitzer anderer Boards damit punkten, wenn Sie keine EFI-Shell "launchen" können.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »GOS« (27.03.2013, 22:40)


3

27.03.2013, 22:48

Habe da Problem mit dem Framebuffer zwar nicht lösen können, aber zumindest umschifft.

Zwar funzt mit UEFI efifb nicht richtig und vesafb gar nicht, aber uvesafb läßt sich zum laufen bringen. Dazu kann man einfach gemäß dieser Anleitung vorgehen:

http://wiki.gentoo.org/wiki/Uvesafb

Dann kann man den Rechner neu booten und in /sys/class/graphics/fb0/modes gucken, welche modes mit einem V davor aufgeführt werden. (z.B. 1280x1024). Dann gibt man als Kerneloption video=uvesafb:1280x1024-24 (bei 24-Bit Farbtiefe) mit und es funzt. :thumbsup:

Falls jemand weiß, wie man efifb zum laufen bekommt, wäre ich natürlich weiterhin sehr interessiert!!!


Zuvor hatte ich ja das Problem, bei der Erstinstallation mit

Quellcode

1
grub2-mkimage -p /efi/grub2 -o /boot/efi/efi/grub2/grub.efi -0 x86_64-efi part_gpt xfs fat video_fb

gar keinen Framebuffer bekam. Das sollte man ebenfalls mit uvesafb umschiffen können.

Grüße
GOS