Was ist ein Kext? Und wie installiere ich Ihn?

Was ist ein Kext? Und wie installiere ich Ihn?

[toc]

Kexte sind ein zentraler Bestandteil von Apples Betriebssystem OSX bzw. von macOS Sierra. Damit sind sie auch ein zentraler Begriff, der euch immer wieder begegnen wird, wenn mit eurem Hackintosh-Projekt starten wollt oder bereits am perfekten System feilt. Wir klären die wichtigsten Fragen rund um die kleinen aber so wichtigen Dateien: Was ist ein Kext überhaupt? Woher bekomme ich die passenden Kexte für mein System? Wie installiere ich einen Kext? Wenn euer Hackintosh noch nicht perfekt läuft, seid ihr hier genau richtig!

Was ist ein Kext?

Zu dieser Frage gibt es eine lange und eine kurze Antwort. Wem die kurze reicht, der muss nur noch bis zum Ende dieses Absatzes lesen und kann dann zum Nächsten Abschnitt springen 😉 Ein Kext ist nämlich im Prinzip nichts anderes als ein Treiber für bestimmte Hardware-Komponenten in OSX. Egal ob USB, Grafikkarte, Bluetooth, WLAN oder Sound – euer System verfügt über einen Kext, der die Komponente funktionieren lässt.

Kext = KernelExtension

So viel zur kurzen Antwort. Jetzt gehen wir etwas mehr in die Tiefe… Die Bezeichnung „Kext“ setzt sich aus zwei Begriffen zusammen: Kernel und Extension. Wenn wir erklären möchten, was ein Kext ist, müssen wir also zunächst die Frage klären, was der „Kernel“ ist.

Was ist ein Kernel?

Jedes Betriebssystem, egal ob Windows, OSX, Android oder Linux, verfügt über einen Kernel. Der Kernel wird manchmal auch „Nucleus“ genannt (lat. „Kern“), was seine zentrale Bedeutung für Betriebssysteme sehr schön verdeutlicht. Die Aufgabe des Kernels ist es nämlich, die Kommunikation zwischen der System-Hardware und der System-Software sicherzustellen.

Die System-Software wird dabei meist vom User über eine grafische Oberfläche gesteuert. Alle Eingaben, die ihr also an eurem PC oder Mac über die Maus oder die Tastatur macht, übersetzt der Kernel in Maschinensprache, die dann wiederum den von euch gewünschten Prozess ausführt (z.B. E-Mail an Mama schreiben, Festplatte formatieren, OSX-Installationsstick erstellen, bueronerds.de ansurfen, etc.).

Damit der Kernel diese Aufgabe erfüllen kann, kennt er alle Befehlssätze, die eure Hardware versteht und ausführen kann. So bekommen wir auch gedanklich langsam die Kurve zu den Kernel Extensions bzw. Kexten, denn wenn ihr eurem Kernel etwas neues beibringen wollt, müsst ihr ihn erweitern – mit einem Kext!

Ein Beispiel aus der Praxis: Wenn ihr den büronerds-Hackintosh nachbaut, werdet ihr feststellen, das euer LAN nicht direkt nach der Installation von OSX funktioniert. Das liegt daran, dass die Befehlssätze für den Betrieb eures Ethernet-Moduls nicht im OSX-Standard-Kernel enthalten sind. Also müsst ihr den Kext für das Ethernet Modul (Atheros Killer E2200) nach-installieren, damit der Kernel die Komponente steuern kann.

Ihr seht, das ganze Kernel-Kext-Thema ist sehr komplex und hier natürlich laienhaft und verkürzt dargestellt. Wer etwas mehr in die Tiefe gehen möchte, dem empfehle ich die Lektüre dieses Beitrags zur Frage „Was ist ein Kext“ bzw. diesen Artikel für diejenigen unter euch, die sich näher mit dem Kernel selbst beschäftigen wollen.

Wofür brauche ich Kexte?

Wann immer ihr also bei eurem Hackintosh feststellt, dass eine Systemfunktion oder Hardware nicht das macht, was sie soll, liegt das entweder (hoffentlich nicht) an grundsätzlicher Inkompatibilität zu OSX, oder (hoffentlich) daran, dass euer Kernel die Funktion oder Komponente einfach nicht kennt. Ist letzteres der Fall, müsst ihr euch also nur den passenden Kext besorgen und installieren. Problem gelöst. Doch das wirft natürlich schon die nächste Frage auf…

Woher bekomme ich die passenden Kexte?

Zunächst müsst ihr genau wissen, welche Hardware in der Komponente verbaut ist, die ihr zum Laufen bringen wollt. Wollt ihr z.B. WLAN nachrüsten, reicht nicht einfach die Bezeichnung der Karte, sondern ihr müsst wissen, welcher WLAN-Chip verbaut ist. Entweder findet ihr diese Informationen auf den entsprechenden Webseiten der Hersteller, oder ihr fragt Google.

Habt ihr die genaue Hardware-Spezifikation in Erfahrung gebracht, könnt ihr euch den passenden Kext suchen. In der Regel werdet ihr diese in den Download-Bereichen der verschiedenen Hackintosh-Foren finden. Ich empfehle dazu gerne Hackintosh-Forum.de. Ein umfangreiches Download-Center und eine kompetente Community – was will man mehr?

Wie installiere ich einen Kext?

Zu guter letzt geht es an die Installation des Kexts. Dazu ganz grundsätzlich: Sämtliche Kexte, auch die original Apple-Kexte liegen auf eurer OSX-Partition im Ordner /System/Library/Extensions/, auch „S/L/E“ genannt. Wollt ihr also eine Hardware-Komponente nach-installieren, muss die .kext-Datei in diesen Ordner gespeichert werden.

Allerdings reicht das allein zur Installation nicht aus. OSX muss noch mitgeteilt werden, dass es einen neuen Kext gibt, der bitteschön beim booten geladen werden soll. Das könnt ihr – wenn ihr wirkliche Nerds seid 😉 – manuell machen (nach dieser Methode), oder ihr erledigt die komplette Installation bequem mit einem Tool: dem KextUtility.

Kexte bequem mit KextUtility installieren

Was ist ein Kext? Und wie installiere ich Ihn?
KextUtility: Kexte einfach per Drag & Drop installieren!

Der gesamte Prozess der Kext-Installation kann sehr einfach und Anfänger-Freundlich mit dem kleinen Tool „KextUtility“ erledigt werden. Einfach das Tool starten, den gewünschten Kext per Drag & Drop auf das Programm-Fenster ziehen und abwarten. Der gesamte Prozess dauert etwas, aber das warten lohnt sich: Das Tool übernimmt komplett das Speichern des Kexts am richtigen Ort, die Reparatur des Caches und die Erneuerung der Zugriffsrechte. Ihr müsst nach Abschluss der Installation dann nur noch den Hackintosh neustarten und siehe da – die neue Hardware sollte funktionieren!

Installation überprüfen

Kleiner Tipp: Mit dem Terminal-Befehl „kextstat | grep -v com.apple“ könnt ihr euch alle geladenen Third-Party-Kexte anzeigen lassen und so kontrollieren, ob die Installation des Kexts erfolgreich war! Ein letzter Hinweis noch: Für jede OSX-Version müsst ihr die passenden Version von KextUtility haben. Wenn ihr das KextUtility für El Capitan 10.11.6 benötigt, mailt mir einfach!