Vor kurzem habe ich ein Mac-System bekommen und wollte eine Intel WiFi-Karte einbauen (als Upgrade für die aktuelle Karte). Wie wir wissen, kommen Apple und Intel in Bezug auf WLAN nicht miteinander aus.
Dieselbe Karte funktioniert jedoch unter Linux.
Was würde passieren, wenn ich die Intel-Treiber für den Linux-Kernel in Mac OS X zwingen würde? Würde es funktionieren? Würde es zu schwerer Instabilität oder Datenverlust kommen? Ist es überhaupt möglich?
modprobe
oder ein ähnliches Tool.Antworten:
Bestenfalls? 100% nichts. Schlimmstenfalls? Stürzen Sie Ihr gesamtes System ab und machen Sie es unbrauchbar oder sogar nicht mehr bootfähig.
Während Mac OS X und Linux unterschiedliche „Varianten“ von Unix sind, können Sie nicht einfach Teile von einem Betriebssystem abrufen und auf dem anderen Betriebssystem installieren und erwarten, dass sie funktionieren.
Wenn jedoch irgendwo Quellcode für den Treiber vorhanden ist, können Sie diese möglicherweise mithilfe der Xcode-Suite von Entwicklungstools für Mac OS X kompilieren.
Aber das ist ein großes Wenn . Die Realität ist das Kompilieren von Linux-Anwendungsquellcode auf einem Mac OS X-System aus einem Linux-System ein Crapshoot. Manchmal funktioniert es und Sie können nette Linux-Tools auf einem Mac OS X-System verwenden. Aber manchmal funktioniert es einfach nicht. Und das ist auf Anwendungsebene. Auf der Fahrerebene ist es noch weniger plausibel oder machbar; und selbst wenn es machbar wäre, wäre es bestenfalls schwierig, das zu tun.
Trotzdem scheint es Open Source-Bemühungen gegeben zu haben, Linux Intel-Treiber für Mac OS X zu kompilieren, wie hier gezeigt . Beachten Sie jedoch, dass es sich bei den genannten Versionen von Mac OS X um Mac OS X 10.4 und 10.5 handelt. nichts moderneres.
quelle
Nichts würde passieren, weil sie nicht funktionieren würden (Kernelmodule). MacOS und Linux haben zwei völlig unterschiedliche Kernel. Es ist wie der Versuch, den Motor von einer Automarke zur anderen zu bringen: Es funktioniert nicht, weil alle Anschlüsse / Spezifikationen völlig unterschiedlich sind.
Außerdem gibt es in Mac OS X keine Befehle lsmod / insmod / modbrobe / rmmod ...
Wenn Sie nun Binärfahrer ausprobieren, die wie folgt aussehen: Verzeihen Sie meine "Auto" -Vergleiche, erhalten Sie einige Materialien für einen Autositz (gemäß den Spezifikationen für Marke A) und versuchen Sie, den Autositz für Marke B zu bauen (zu kompilieren). Wenn die beiden Automarken im Bereich der Autositze kompatibel sind, würden Sie es wahrscheinlich schaffen und es könnte tatsächlich funktionieren. Aber wenn Sie versuchen, einen Rennwagensitz aus Materialien für ein 20 Jahre altes Auto zu bauen, werden Sie eine harte Fahrt haben, wenn nicht sogar abstürzen und sich verletzen.
quelle
ndiswrapper
irgendjemand?). Obwohl dies sicherlich nicht sofort funktioniert, kann es theoretisch für einige Power-User möglich sein, einen Treiber an ein anderes Betriebssystem anzupassen. Auf jeden Fall ist OP besser dran, eine andere WiFi-Karte zu kaufen.modprobe
in OS X ein Äquivalent:kextload
Wie schon gepostet: es ist nicht möglich.
Erstens gibt es keine "Force Install". Es gibt nichts zu installieren, und selbst wenn etwas zu installieren war, gibt es kein "Erzwingen". Die Installation kann unterschiedliche Bedeutungen haben, aber diese beiden sind für Ihre Frage relevant:
Installation bedeutet, dass ein Mac OS X-Paket mit dem Installationsprogramm von OS X installiert wird. Dies ist ein Paket, das die zu installierenden Dateien und Anweisungen für das Installationssystem enthält, damit es weiß, wo und wie es abgelegt werden soll.
Installation bedeutet, einen Treiber für eine in den Kernel geladene Hardware zu erhalten. OS X verwendet sogenannte Kernel-Erweiterungen (.kext-Dateien oder offiziell "Pakete", weil dies der Fall ist), um dem Kernel Funktionen hinzuzufügen. Ein Treiber ist eine solche Ergänzung, und die Funktionalität ist die Fähigkeit, ein Stück Hardware zu steuern.
Beide Fälle sind sehr betriebssystemgebunden. Dies bedeutet, dass Sie etwas nicht 'installieren' können, ohne die Punkte 1 und 2 abzugleichen. Während Sie Punkt 1 technisch überspringen könnten, indem Sie manuell das Programm 'kextload' verwenden, um eine Datei als Kernel-Erweiterung zu laden, könnten Sie Punkt 2 nicht: nur übereinstimmen Kernel-Erweiterungen können in den Kernel geladen werden. Kernel-Erweiterungen müssen mit dem ABI und der API des Kernels übereinstimmen. Diese beiden Akronyme (zögern Sie nicht, sie nachzuschlagen, ihr vollständiger Name und ihre Bedeutung sind für die Antwort nicht relevant) sind vergleichbar mit der Zuordnung von Steckdosen zu Steckdosen. Sie sind Schnittstellen.
Wenn Sie versuchen würden, Binärdateien zu mischen und abzugleichen (da dies Kernel-Erweiterungen, Module und Treiber sind), würde dies nicht funktionieren, da sie nicht mit dem Kernel und in einigen Fällen dem Prozessor kompatibel sind, der den Code ausführen muss. Durch diese Kompatibilität mit dem Kernel gelangen wir zum ABI- und API-Teil: Diese Schnittstellen sind wie Gas-, Wasser- und elektrische Verbindungen. Angenommen, Windows ist Gas, Linux ist Strom und OS X ist Wasser. Wenn Sie versuchen, einen elektrischen Linux-Stecker an den Wasserhahn von OS X anzuschließen, wird nichts zum Laufen gebracht. Wasser fließt nicht durch einen elektrischen Stecker, und ein elektrischer Stecker bezieht keinen Strom aus Wasser.
Wenn Sie versuchen würden, einen Linux-Treiber (der als Kernel-Modul bezeichnet wird) mithilfe von kextload über eine Befehlszeile unter OS X in den OS X-Kernel zu laden, wird Ihnen lediglich mitgeteilt, dass er nicht weiß, was zu tun ist mit der von Ihnen angegebenen Datei. Es gibt dort kein Erzwingen, es kann einfach nichts mit dieser Datei machen, genauso wie Sie eine Glühbirne nicht zwingen können, zu Hause von Ihrem Wasserhahn aus zu arbeiten.
Was Ihr Problem betrifft: Was versuchen Sie zu erreichen? Wenn Sie ein Problem mit Ihrer drahtlosen Verbindung haben, liegt das Problem normalerweise im Netzwerk oder in der Umgebung. Wenn Sie bestimmte Funktionen wie unterschiedliche Frequenzen oder neuere drahtlose Protokolle vermissen, können Sie versuchen, einfach eine besser unterstützte Karte zu installieren. Im Internet gibt es Listen mit nativ unterstützten WLAN-Karten, die einwandfrei funktionieren. Intel ist keiner von ihnen.
Ich hoffe das hilft dir und macht die Dinge so klar wie möglich.
quelle
Nein, es ist nicht mehr möglich, als Sie andere Linux-Binärdateien in OS X ausführen können (ohne eine virtuelle Maschine zu verwenden).
quelle
Wenn Sie über USB-Geräte verfügen, die nur Linux-Treiber, aber keinen OS X-Treiber bereitstellen, können Sie das Gerät verwenden, indem Sie Linux in einer virtuellen Maschine (VirtualBox?) Ausführen und dann die USB-Verbindung von Ihrem Mac an Linux weiterleiten VM.
Wenn Sie dann einige GUI-Tools verwenden müssen, können Sie auch die X-Weiterleitung mit XQuartz auf Ihren OS X-Desktop einrichten.
quelle