Generelles Verstehen von KEXTen, mögliche Speicherorte

  • Ich bin relativ neu im Thema Hackintosh, habe aber Mojave soweit erfolgreich installieren können. Da ich mich intensiv mit CLOVER und den KEXTen beschäftige, habe ich ein paar allgemeine Fragen, zu denen ich keine ausreichende Antwort gefunden habe. Da ich aus der Windows-Welt komme, seien mir evtl. falsche Gedanken oder Bezeichnungen verziehen...


    Ein KEXT ist am ehesten einem Treiber gleichzusetzen, er stellt die Verbindung zwischen Hard- und Software her. Ein KEXT ist keine Hackintosh-Erfindung, sondern bereits im originalen macOS sind KEXTe enthalten. Die (nennen wir sie) Hackintosh-KEXTe wie FakeSMC.kext oder USBInjectAll.kext sind inoffizielle KEXTe, die dazu dienen, die PC-Hardware (also keine Apple-Hardware) an macOS anzupassen. Mithilfe dieser zusätzlichen KEXTe ist macOS also lauffähig auf eiem PC. Soweit richtig?

  • Hier beschreibt Brumbaer Kext as Kext can oder USB 3.0 ohne USBInjectAll schonmal so den Aufbau und prinzipielle Funktionsweise eines Kextes.


    Der bevorzugte Ort der Kexte ist in EFI-Clover-kexts-Other bzw der macOS Version.

    iMac17,1 GA-Z170N WiFi F22f |i5-6600 HD530 |RX560 |16GB |250GB SSD |macOS 14.4.1 |*
    MacBook9,1XiaoMi Air 12,5"(erster XiaoMi im Forum)|M3 6Y30 HD515 |4GB |128 & 250GB SSD |macOS 11.6 |Clover
    MacBookPro15,4XiaoMi-Pro-15,6" |i5-8250U UHD620 |8GB |250 & 250GB SSD |macOS 14.4.1 |*
    MacBookPro16,1XiaoMi RedMi 14" (erster RedMe im Forum)|i7-10510U | 8GB | 512GB SSD | macOS 14.4.1 |*
    MacMini8,1 NVISEN Y-MU01(erster NVISEN im Forum)|i7-10510U |24GB |256GB SSD |macOS 14.4.1 |*
    MacMini8,1HYSTOU S210H (Adventskalender vs. DSM2 samt Fake Profil)|i9-9880H UHD630|32GB |250GB SSD |macOS 14.4.1 |*
    MacMini8,1HYSTOU P05B (erster Hack mit OpenCore im Forum)|I7-8550U UHD620|16GB |500GB SSD |macOS 14.4.1 |*

    * BootLoader OpenCore REL-100-2024-04-16


    Experte ist nicht immer gleich Expertise

  • Ein Kext kann ein Treiberen beinhalten.

    Wenn du mit der rechten Maustaste auf einen Kext klickst und "Inhalt anzeigen" auswählst, wirst du meistens ein Unterverzeichnis namens "Contents" finden, in dem wiederum Ordner mit weiteren Infos sind:

       


    Handelt es sich bei dem Kext tatsächlich um einen Treiber, wird die eigentliche, ausführbare Datei im Ordner "/Contents/MacOS" abgelegt.

    Ein Kext kann weitere Unter-Kexte, sogenannte "Plugins" enthalten, die wiederum im gleichnamigen Ordner liegen.

    Original-Kexte haben zusätzlich noch den "_CodeSignature"-Ordner der für die Signatur des Kexts zuständig ist.


    Es gibt aber auch Kexte, die nur aus der "Info.plist" bestehen, welche den grundlegenden Einsatz eines Kextes beschreiben und auch diverse Einstellungen für den Kext mitführen können.

    Kexte ohne ausführbare Dateien werden zum "Injecten" von verschiedenen Hardware-Einstellungen genutzt.


    Original-Kexte liegen in macOS immer im Ordner /System/Library/Extensions (/S/L/E), während Kexte von anderen Herstellern eher im Ordner /Library/Extensions (/L/E) liegen.


    Die Hackintosh-Kexte sollten grundsätzlich aus der EFI heraus (/EFI/CLOVER/kexts/Other) geladen werden.

    Die zweite Instanz wäre dann /L/E und die dritte Variante /S/L/E.

    Werden fremde Kexte in die Ordner /L/E oder /S/L/E kopiert, muss im Nachgang der Kext-Cache neu erstellt und die Rechte der neuen Kexte angepasst werden.

    Dies geht entweder per Tool Kext Utility oder per Terminal-Befehl.

    Das gilt auch, wenn aus den Ordnern /S/L/E oder /L/E fremde Kexte entfernt werden.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Vielen Dank an NoirOSX und al6042 - das sind ja schonmal umfassende Informationen, die mir beim Verständnis weiterhelfen!

    Warum sollten die Hackintosh-KEXTe lieber in die EFI-Partition (Clover) - dient das nur der Übersicht und um das System sauber bzw. original zu halten? Gibt es bei einem originalen MAC auch eine EFI-Partition?

    Werden KEXTe aus allen Ordner automatisch bei Bedarf geladen, werden unnötige KEXTe automatisch ignoriert?

  • Der Vorteil, alle Hackintosh-Kexte in der EFI zu belassen, liegt zum einen darin, dass du die Platte auch direkt in einen anderen Rechner einsetzen und mit wenig Anpassungen booten könntest.

    Das würde auch beim Einbau in einen Original-Mac funktionieren, da das macOS selbst sauber und unberührt ist (Vanilla)

    Die EFI selbst ist eine FAT32-Partition und kann somit auch per Linux oder Windows (etwas aufwendiger) editiert und verändert werden.

    Das geht nicht so einfach, wenn diese Kexte im System direkt liegen würden.


    Die EFI-Partition ist Bestandteil aller Datenträger, die im "GUID-Partition Table"-Modus (GPT) eingerichtet sind.

    Das gilt für Linux, macOS und auch Windows.


    MacOS fügt immer alle seine Kexte in diese beiden Ordner (/S/L/E und /L/E).

    Sie werden tatsächlich erst dann geladen, wenn sie auch gebraucht werden.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Ausserdem kann man Kexte die in der EFI liegen vor dem Start von macOS mit dem Clover Bootloader blocken, das heißt quasi abwählen oder deaktivieren für den Fall dass mal kein Boot möglich ist, manchmal ist es gut einen Noteingang mit nur FakeSMC zu haben. :)

  • Community Bot

    Hat das Label Erledigt hinzugefügt