• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

UEFI Boot - Textausgabe kaputt / Kernel Bug?

Rosendoktor

Well-Known Member
Themenstarter #1
Hallo zusammen,

ich habe schon lange auf meinen Geräten (Laptops+PC) Debian und FreeBSD (auf dem PC auch noch Windows 10) im Multiboot installiert, dabei übernimmt der von Debian gelieferte GRUB das Starten der Betriebssysteme.

Erst vor 2 Jahren hatte ich meine ersten UEFI Geräte geholt, zwei Lenovo X220. Der PC wurde erst kürzlich erneuert, ist jetzt ein Fujitsu Esprimo P710 mit UEFI. Zunächst hatte ich jeweils die Bootkonfigurationen der BIOS Vorgängergeräte übernommen, boote also grundsätzlich im Legacy Modus.

Ein erster Versuch vor längerer Zeit, eines der X220 auf UEFI umzustellen, scheiterte daran, dass ich FreeBSD damit nicht booten konnte. Das auftretende Problem haben auch ein paar andere Leute, eine Lösung hatte aber niemand.

Vor ein paar Tagen habe ich auch den PC so eingerichtet, dass sowohl Legacy als auch UEFI Boot möglich sein sollte. Wie auf den X220 funktioniert mit Debian auch beides. Leider auch auf dem PC nicht mit FreeBSD, nur anders als auch dem X220.

Ich denke das liegt an einer doch etwas speziellen Startweise. Sowohl Debian als auch FreeBSD werden gestartet, indem direkt aus GRUB heraus der Kernel aufgerufen wird. Das funktioniert im Legacy Modus auch prima. Im UEFI Modus funktioniert es nur mit Debian.

Versuche ich FreeBSD im UEFI Modus zu booten, passiert auf dem X220 das hier gleich nach der Auswahl in GRUB:

IMG_20200523_160727.jpg


Schönes buntes Gekräusel. Der Kernel scheint sich aufzuhängen. Es passiert gar nichts, ein harter Reset ist nötig. An dieser Stelle hab' ich damals aufgegeben und bin beim Legacy Modus geblieben.

Als ich dann den PC umgestellt habe, hab' ich nur mal so und ohne mehr zu erwarten auch mal versucht, FreeBSD im UEFI Modus zu booten. Ergebnis:

IMG_20200523_144641.jpg


Der Unterschied zum X220 sind nicht nur die Farben, sondern auch, dass sich das hüsche s/w Gekräusel bewegt. Und zwar schön von unten nach oben. Ausserdem war SSD Aktivität zu sehen. Also scheint da was zu passieren. Etwas gewartet, und siehe da, kaum startet der XServer, hatte ich schönes Bild und FreeBSD läuft brav im UEFI Modus.

Ich hab' das dann gleich nochmal mit dem X220 ausprobiert, leider bleibt es da bei den bunten Farben und dem aufgehängten Kernel.

Grundsätzlich scheint das Booten im UEFI Modus auf die Weise wie ich es machen will also zu funktionieren. Auf dem PC ist nur die Textausgabe der Konsole kaputt, damit könnte man zur Not leben. Auf dem X220 geht es aber gar nicht.

Die Frage ist jetzt, warum geht das alles prima im Legacy Modus, nur bei FreeBSD aber nicht im UEFI Modus? Irgendwas scheint mit der Konsole oder dem Grafikmodus anders zu sein beim UEFI Boot. Ein Phänomen, das übrigens auch bei Debian (leicht andere Textdarstellung bei den Bootmeldungen) und bei Windows 10 (verzerrtes Seitenverhältnis der Bootgrafik im UEFI Modus) zu sehen ist.

Kann man dem FreeBSD Kernel irgendwelche Parameter oder Umgebungsvariablen mitgeben, die Konsole/Grafik betreffen? Habe diesbezüglich leider nichts gefunden.

Oder ist das ein Bug, vielleicht sogar nur ein kleiner? Kann auch gerne den Kernel selbst kompilieren und patchen wenn's nötig ist.

Noch kurz zur Bootkonfiguration, hier mal der Eintrag in GRUB, der FreeBSD startet:

Code:
menuentry "FreeBSD 12.1-RELEASE" --unrestricted {                                                                     
    insmod zfs                                                                                                        
    insmod bsd                                                                                                        
    insmod cryptodisk                                                                                                 
    insmod gcry_rijndael                                                                                              
    insmod geli                                                                                                       
    insmod gcry_sha256                                                                                                
    echo "FreeBSD alkione"                                                                                            
    set root='(hd0,10)'                                                                                               
    for i in 4 3 2 1 0; do if cryptomount -u ab8a64ffa90ec3d7e7beeb9463bc6be5a942619e2572a200b84d31bb5386ffb8; then break; else echo; fi; done                                                                                               
    search --no-floppy --label --set=root alkione_zboot                                                               
    echo        'FreeBSD 12.1-RELEASE wird geladen …'                                                                 
    kfreebsd /boot@/boot/kernel/kernel                                                                                
    kfreebsd_module_elf /boot@/boot/kernel/opensolaris.ko                                                             
    kfreebsd_module_elf /boot@/boot/kernel/zfs.ko                                                                     
    kfreebsd_module_elf /boot@/boot/kernel/geom_eli.ko                                                                
    set kFreeBSD.vfs.root.mountfrom=zfs:alkione_zroot/root                                                            
    boot                                                                                                              
}
(Bitte stört Euch nicht an dem Verschlüsselungszeug, das Problem tritt auch dann auf, wenn die Bootpartition unverschlüsselt ist. Und die vielleicht etwas seltsamen zfs Pfade sind historisch bedingt, das ist durch händische Umstellung eines ufs Systems auf zfs durch einen zfs-Anfänger so entstanden, und es funktioniert)

Das X220 hat übrigens Intel Grafik, der PC eine NVIDIA Karte. Beide haben das jeweils neueste verfügbare UEFI/BIOS.

Noch was, ich hatte durchaus schon versucht, statt den FreeBSD Kernel direkt auch irgendwelche Loader zu starten, das aber scheiterte an anderen Problemen.

Und ich möchte weiterhin GRUB verwenden, den kenne ich sehr gut, und das UEFI Bootmenü der Geräte mag ich so gar nicht leiden...

Grüße,

Robert
 

mr44er

moderater Moderator
Mitarbeiter
#2
Zuviel Info für mich am frühen Morgen. ;)

Ich zitiere mich mal selber vom anderen Thread:
UEFI war zu Einführungszeiten in den BIOSen tlw. extrem buggy.
Ich habe auch einen P710, der ist noch aus dieser Einführungszeit. Ebenfalls betreibe ich darin eine nvidia.
1. Hast du sie in den Slot unten (x16) gesteckt? Der obere kann nur x4. (kann sich aufs setting prim. gpu auswirken, muss aber nicht!)
2. Da gab es auch irgendwas mit der Grafikausgabe im Bios zu drehen, ca. irgendwas mit dual/both,dedicated only, erinnere mich nicht genau wie das setting hieß. Du willst aber, dass ausschließlich die nvidia und zwar als primary gpu angesprochen wird.
Der Hintergrund ist, dass onboard intelgrafik sitzt und ich weiß, dass damit bei 2560x1440 Ende ist.
Ich kann es nicht genau erkennen, aber falls dein Monitor am PC eine höhere Auflösung haben mag, könnte das die Störkette schon in Gang setzen.

Halbwissen aus kaputter Erinnerung: die ein oder andere Einstellung zu Grafikausgabe hängt mit UEFI zusammen vs. umgedreht. Auch könnte es sein, dass dieses Board UEFI nur sauber mit der intelGPU bootet.

Kannst du denn ein aktuelles FreeBSD-12.1-RELEASE-amd64-memstick.img bis zum Installer booten ohne Grafikgemurks?
 
#3
Das gleiche oder ein aehnliches Problem habe ich bei meinem X220 auch, allerdings mit Coreboot und OpenBSD. Mitten im Betrieb sieht die Textausgabe ploetzlich so aus wie bei dir. Erst wenn ich den Rechner einige Zeit lang aus lasse, gehts wieder. Bei mir liegt es vermutlich an der Hardware, wie einem defekten Kondensator oder so.

EDIT: Da es bei Dir allerdings auf verschiedenen Rechnern auftritt, ist es vermutlich doch nicht das gleiche Problem. ;-)
 

Rosendoktor

Well-Known Member
Themenstarter #4
Zuviel Info für mich am frühen Morgen. ;)
Sorry... :cool:

Ich zitiere mich mal selber vom anderen Thread:

UEFI war zu Einführungszeiten in den BIOSen tlw. extrem buggy.
Damit dürftest Du wohl recht haben, auch was das X220 angeht, ist ja auch aus der Zeit. Langsam bin ich so weit zu glauben, dass die Kombination aus meiner Hardware und dessen UEFI und FreeBSD einfach noch nicht sauber geht.

Ich habe auch einen P710, der ist noch aus dieser Einführungszeit. Ebenfalls betreibe ich darin eine nvidia.
1. Hast du sie in den Slot unten (x16) gesteckt? Der obere kann nur x4. (kann sich aufs setting prim. gpu auswirken, muss aber nicht!)
2. Da gab es auch irgendwas mit der Grafikausgabe im Bios zu drehen, ca. irgendwas mit dual/both,dedicated only, erinnere mich nicht genau wie das setting hieß. Du willst aber, dass ausschließlich die nvidia und zwar als primary gpu angesprochen wird.
Der Hintergrund ist, dass onboard intelgrafik sitzt und ich weiß, dass damit bei 2560x1440 Ende ist.
Ich kann es nicht genau erkennen, aber falls dein Monitor am PC eine höhere Auflösung haben mag, könnte das die Störkette schon in Gang setzen.

Halbwissen aus kaputter Erinnerung: die ein oder andere Einstellung zu Grafikausgabe hängt mit UEFI zusammen vs. umgedreht. Auch könnte es sein, dass dieses Board UEFI nur sauber mit der intelGPU bootet.
Die NVIDIA steckt im oberen Slot. Macht das was Performance angeht was? Hab dem Fujitsu einen i7-3770 verpasst, der hat m.W. gar keine integrierte Grafik. Um den Fujitsu hab' ich mich aber noch nicht weiter gekümmert, nur um das X220, und da sehe ich leider kein Land...

Hab' mit dem X220 alles durch was im Netz zu finden war, von "gop set 0" und "mode 0" oder "mode 2" über "kern.vty=sc" und "kern.vt.textmode" (oder so) noch einiges, ohne Erfolg. Hab' sogar eine unverschlüsselte ufs Partition angelegt, und von GRUB2 den Loader gebootet statt direkt den Kernel, im Legacy Modus problemlos, im UEFI Modus schwarzes Bild (ohne buntes Gekräusel...) und hängt genauso. Das X220 bootet FreeBSD nicht mit UEFI, nicht über GRUB2 jedenfalls.

Kannst du denn ein aktuelles FreeBSD-12.1-RELEASE-amd64-memstick.img bis zum Installer booten ohne Grafikgemurks?
Hab' ich noch nicht probiert, aber eine 12.1 DVD liegt noch rum, mal sehen was damit passiert.

Werde wohl erst mal beim Legacy Modus bleiben. Schade, wollte umstellen nachdem jetzt alle in Verwendung befindlichen Geräte UEFI können, denn langfristig kommt man daran ja kaum vorbei. Aber gut, dann halt erst mal nicht. Probier's dann mal wieder mit 13.0-RELEASE. Sowohl Debian als auch FreeBSD kann man ja wahlweise Legacy/UEFI booten, nur das Windows auf dem P710 nicht, das muss MBR bzw. GPT haben je nach Modus, und zurück von GPT auf MBR heisst da Neuinstallation...
 

Rosendoktor

Well-Known Member
Themenstarter #5
Das gleiche oder ein aehnliches Problem habe ich bei meinem X220 auch, allerdings mit Coreboot und OpenBSD. Mitten im Betrieb sieht die Textausgabe ploetzlich so aus wie bei dir. Erst wenn ich den Rechner einige Zeit lang aus lasse, gehts wieder. Bei mir liegt es vermutlich an der Hardware, wie einem defekten Kondensator oder so.

EDIT: Da es bei Dir allerdings auf verschiedenen Rechnern auftritt, ist es vermutlich doch nicht das gleiche Problem. ;-)
Es gibt Coreboot für das X220? :eek: Coole Sache, Kann man das gefahrlos ausprobieren und im Zweifelsfall das originale BIOS/UEFI wieder flashen? Würde mich interessieren, das!
 
#6
Es gibt Coreboot für das X220? :eek: Coole Sache, Kann man das gefahrlos ausprobieren und im Zweifelsfall das originale BIOS/UEFI wieder flashen? Würde mich interessieren, das!
Jepp, das ist recht einfach. Vor dem flashen wird ein Backup der aktuellen Firmware erstellt. Danach Coreboot flashen und mit me_cleaner wird die IntelME auf das notwendigste gestripped. Du benoetigst zum flashen allerdings so eine spezielle Klemme und einen Raspberry Pi. Falls du wieder die originale Firmware aufspielen willst, einfach das Backup wieder flashen.

Hier ein paar Links:

https://karlcordes.com/coreboot-x220/
https://tylercipriani.com/blog/2016/11/13/coreboot-on-the-thinkpad-x220-with-a-raspberry-pi/
https://thiccpad.blogspot.com/2018/12/coreboot-x220-guide.html
 

mr44er

moderater Moderator
Mitarbeiter
#7
Die NVIDIA steckt im oberen Slot. Macht das was Performance angeht was?
Kommt auf den Chip an versus weiß ich nicht. ;) Angewöhnt hab ich mir bei GPUs, diese immer in den schnellstangebundenen Slot zu stecken.
Dieses Fujistsu-Siemens-Board ist an sich etwas fremd und bockig, kannte ich so nicht. Wenn es mal läuft, dann richtig. Habe es seit 2014, quasi Dauerlauf.
Und weil das so a weng exotisch ist, könnte die ganze Sache mit nem Umstecken schon laufen. Könnte. Und auch wenn die besagte CPU keine Grafikeinheit hat, weiß ich nicht, was das BIOS dann 'trotzdem' macht. ;)

Du kannst legacy booten und GPT installieren, das macht das Board zumindest mit FreeBSD. Wie und ob dein win dann booten mag, weiß ich nicht. Da kackt dir vllt. das fakeraid dazwischen. Muss man ausprobieren. Ggf. nochmal Win installieren.

Edit: Mit F12 oder F8 kriegst die Bootauswahl nochmal auf den Präsentierteller. Manche Bootmöglichkeiten tauchen doppelt auf von einer Quelle. Das eine ist dann UEFI, das andere legacy. Was was ist, ist nicht immer ersichtlich und je nach Einstellungsbonanza im BIOS gehts dann trotzdem schief.
 

Rosendoktor

Well-Known Member
Themenstarter #8
Dieses Fujistsu-Siemens-Board ist an sich etwas fremd und bockig, kannte ich so nicht. Wenn es mal läuft, dann richtig. Habe es seit 2014, quasi Dauerlauf.
Ja, die Boards sind teils etwas seltsam, aber solide, und ich kenne die noch vom Scenic Pentium 4 und Esprimo Pentium D. Hab' dem P710 mit dem i7 auch gleich einen ordentlichen Arctic Xtreme MX Kühler verpasst, von dem Rechner hört man auch unter Vollast (CPU + GPU und Platten) praktisch gar nix. Eine Wohltat! :D

Nochmal Danke an alle für die Hilfe!
 
#9
Moin !

Ich bin im Besitz eines recht aktuellen Motherboards ! Uefi klappt hier Einwandfrei mit allen OS`s !!!

Mal ein paar gutgemeinte Tipps :

- Entweder oder ! Also entweder Bios-Boot oder Uefi-Boot !
- Wenn Uefi , dann vergiss Grub ! Das ist ja der Sinn von Uefi ! Das Board (Uefi) erkennt das OS und bootet es
- Bei Uefi empfehle ich dir refind !
- Bei der Linux Installation die Grubinstallation Manuell Vornehmen !
Nicht in den Bootsektor ! sondern : grub-install --target=x86_64-efi --efi-directory=/boot
- Im Bios auf reine Uefi-Unterstützung gehen , beir meinem Board z.B. : Disable:CSM
- Die Installation in dem Modus vornehmen in dem gebootet werden soll und nicht hinterher wieder ändern !


Mal meine erkenntnissse ....

Gruss
 

mr44er

moderater Moderator
Mitarbeiter
#10
teils etwas seltsam, aber solide
Hatte nur immer den Horror, wenn das Netzteil mal die Hufe streckt. Das ist ja ne ganz besonders verdrahtete Schneeflocke und ein Standard-NT kriegst da nicht ans Board drangepappt. Wenn es nun morgen dampft, kann man die Kiste nach mittlerweile 6 Jahren getrost entsorgen.

Stimmt, das gibts auch noch/schon beim Fujitsu!

Die Installation in dem Modus vornehmen in dem gebootet werden soll und nicht hinterher wieder ändern !
FullACK
 
Themenstarter #11
- Entweder oder ! Also entweder Bios-Boot oder Uefi-Boot !
Geht auch beides abwechselnd, je nach Lust und Laune, wenn man mag (ausser mit Windows, da geht nur BIOS/mbr oder UEFI/gpt). Macht halt nur wenig Sinn (ausser man wollte Uefi mal mit dem Linux ausprobieren und bekommt es dann aber mit FreeBSD nicht hin, so wie ich... ;))

- Wenn Uefi , dann vergiss Grub ! Das ist ja der Sinn von Uefi ! Das Board (Uefi) erkennt das OS und bootet es
Nope, ich weiß dass viele Grub (Grand Unified Bootloader) hassen, ich mag ihn aber, kenne ihn gut und finde ihn schick. Über den Sinn von Uefi könnte man tagelang philosophieren, egal, es ist wie systemd, man kommt nicht dran vorbei irgendwann.

Das kling interessant, macht aber letztendlich das, was bei mir mein Grub macht (jetzt jedenfalls, startet einfach die anderen UEFI Bootloader), bei dem muss ich für die nicht-Linux OSe halt nur manuell einen Menüeintrag anlegen.

- Bei der Linux Installation die Grubinstallation Manuell Vornehmen !
Eh klar, deswegen bisher auch grub-legacy und grub-efi parallel, kein Problem :) Bleibt jetzt erst mal auch so.

- Im Bios auf reine Uefi-Unterstützung gehen , beir meinem Board z.B. : Disable:CSM
Yep, nachdem FreeBSD nun auch sauber mit Uefi bootet geht das auch.

- Die Installation in dem Modus vornehmen in dem gebootet werden soll und nicht hinterher wieder ändern !
Installer hab ich schon lange nicht mehr benutzt, Linux und FreeBSD werden händisch installiert und bootfähig gemacht, dann ist es auch so wie ich es will.

So hat jeder seine Präferenzen. Ich bin zufrieden jetzt, alle OSe starten sauber (egal ob früher Legacy oder jetzt Uefi) über Grub und ich behalte ihn :D
 
Themenstarter #12
Hatte nur immer den Horror, wenn das Netzteil mal die Hufe streckt. Das ist ja ne ganz besonders verdrahtete Schneeflocke und ein Standard-NT kriegst da nicht ans Board drangepappt. Wenn es nun morgen dampft, kann man die Kiste nach mittlerweile 6 Jahren getrost entsorgen.
Das war bei den früheren Fujitsu leider auch schon so. Ich hatte aber immer mehrere davon für kleines Geld geschossen, wie jetzt auch, und somit immer was in Reserve. Ein Mainboard hat in den 15 Jahren mal die Grätsche gemacht (lief zwar, aber Resume aus dem Supend to Ram funktionierte nicht mehr). Die Netzteile haben alle 15 Jahre durchgehalten.