Was macht boot.efi eigentlich?

Ich verstehe, dass das EFI-System eines Macs, wenn es ausgeführt wird, die Datei boot.efiim Verzeichnis /System/Library/CoreServices/( blessed) findet und diese als EFI-Anwendung ausführt (was einen großen Teil der UEFI-Spezifikation untergräbt, wenn ich richtig verstehe).

Meine Frage ist: Was macht diese EFI-Anwendung tatsächlich auf 10.8.4? Ich denke, es muss den Kernel lokalisieren, Boot-Argumente durchlaufen, KEXTs lokalisieren usw., aber das ist nur meine Spekulation. Kann ich irgendwo aus einer konkreten Quelle herausfinden, was es tut (idealerweise Schritt für Schritt)?

Antworten (1)

EFI ist ein Vertrag, der festlegt, wie die Hardware die Software finden und starten kann und umgekehrt.

Anstatt benutzerdefinierten Code in jedes neue Hardwaregerät und jede neue Softwareversion einbauen zu müssen, wurde ein Standard vereinbart und die Spezifikation ursprünglich von Intel geschrieben.

Dann beschließt ein Unternehmen wie Apple, eine bestimmte Version der EFI-Spezifikation zu übernehmen (möglicherweise sogar unter Verwendung bestimmter Implementierungen der Spezifikation in Hardware - entweder durch eigene Chips oder durch Übernahme der Implementierung eines anderen Unternehmens) und erweitert/ändert möglicherweise die Basisimplementierung, um die Anforderungen von Apple zu erfüllen .

Auf hoher Ebene ist boot.efi Teil des Software-Endes von Dingen, die dabei helfen, den Hardware-Boot und die Übergabe an das Betriebssystem zu unterstützen, damit es ausgeführt werden kann (in diesem Fall OS X 10.8.4):

http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Efi_flowchart_extended.svg/500px-Efi_flowchart_extended.svg.png

Der folgende Wikipedia-Artikel ist die Quelle des obigen Bildes und enthält einige gute einführende Details zu EFI und Apples Verwendung seit 2006. Apple behandelt weitere Details über ihre Implementierung von EFI und den Boot-Prozess im Kernel-Programmierhandbuch:

Nun, das nenne ich eine gute Antwort.