Es gab viele Kontroversen um UEFI, aber ob es Ihnen gefällt oder nicht, es wird die einzige Option, wenn es um allgemein verfügbare Desktop-Motherboards geht. Ich habe UEFI-Mobos seit einiger Zeit vermieden, aber jetzt wurde es ziemlich schwierig, da Mobo-Anbieter UEFI-Produkte mit mehr Funktionen als BIOS-Produkten ausliefern (dh Unterstützung für mehr RAM). Vor diesem Hintergrund möchte ich sicher sein, dass es in Zukunft zumindest eine Option für Open Source gibt, und wenn dies nicht der Fall ist, kann ich weniger Funktionen, aber mehr Freiheit ertragen.
TianoCore ist Intels Open-Source-Implementierung von UEFI-Schnittstellen, und Wikipedia hat Folgendes zu sagen :
TianoCore fehlen die speziellen Treiber, die Chipsatzfunktionen initialisieren, die stattdessen von Coreboot bereitgestellt werden. TianoCore ist eine von vielen Nutzlastoptionen. Die Entwicklung von Coreboot erfordert die Zusammenarbeit der Chipsatzhersteller, um die für die Entwicklung der Initialisierungstreiber erforderlichen Spezifikationen bereitzustellen.
Meine Frage ist, erfordern diese von Coreboot bereitgestellten Treiber immer noch eine Art Binär-Blobs von Chipsatz-Anbietern? Auch Ronald G. Minnich hat folgendes über EFI zu sagen :
Zugriffe auf IDE-E / A-Adressen oder bestimmte Speicheradressen können im EFI-Code abgefangen und möglicherweise geprüft und geändert oder abgebrochen werden. Viele sehen dies als Versuch, ein "DRM-BIOS" aufzubauen.
Gibt es in einem TianoCore + Coreboot-Setup Teile, die möglicherweise die vom Hardwarehersteller bereitgestellte Open Source- oder Binär-Firmware ausführen könnten?
Es ist möglich, Coreboot (frühzeitige Hardwareinitialisierung) und TianoCore (Bereitstellung der UEFI-API) zu einer vollständigen UEFI-Firmware-Implementierung zu kombinieren. Das ist jedoch noch in der Entwicklung. Es wird auch kein "kanonisches" UEFI sein, da die äußere Schicht Coreboot sein wird.
Ein Ansatz, der auf Duet basiert, ist unter http://notabs.org/coreboot/duet-payload/ zu finden - er bootet etwas auf echter Hardware.
Ein weiterer Versuch (Offenlegung: mein Projekt), bei dem versucht wird, mehr von Tiano wiederzuverwenden und näher an der UEFI-Architektur zu bleiben, ist auf github: https://github.com/pgeorgi/edk2/ . Dieser hat noch nicht viele Tests auf echter Hardware gesehen, nur Qemu.
Im Prinzip könnte es auch funktionieren, Coreboot-Code zu verwenden und daraus Tianocore-Pakete zu erstellen, sodass es in jeder Hinsicht wie UEFI aussieht und sich anfühlt (nicht nur diejenigen, die für den Benutzer und das Betriebssystem sichtbar sind). Offensichtlich sind Coreboot-Entwickler daran nicht sehr interessiert.
quelle
Die Chipsatzinitialisierung und dieser andere hardwarespezifische Code auf extrem niedriger Ebene waren immer größtenteils Closed-Source. BIOS / UEFI ändert nichts an der Tatsache, dass Details der Speichercontrollerinitialisierung usw. von Kartenanbietern selten veröffentlicht werden.
Um eine echte Open-Source-Karte zu haben, müssen Sie nach Open-Source-Hardware suchen, einem Anbieter, der alle Spezifikationen jeder Hardwarekomponente auf der Hauptplatine verfügbar macht. Das ist, gelinde gesagt, schwer zu finden.
quelle