8 votes

Que se passerait-il si je forçais l'installation d'un pilote Linux dans Mac OS X ?

Récemment, j'ai acheté un système Mac et j'avais l'intention d'y installer une carte WiFi Intel (comme mise à niveau de la carte actuelle). Or, comme nous le savons, Apple et Intel ne s'entendent pas en matière de WiFi.

Cependant, cette même carte fonctionne sous Linux.

Que se passerait-il si je forçais les pilotes Intel pour le noyau Linux dans Mac OS X ? Est-ce que cela fonctionnerait ? Y aurait-il une forte instabilité ou une perte de données ? Est-ce même possible ?

12voto

Giacomo1968 Points 5021

Que se passerait-il si je devais forcer l'Intel dans Mac OS X ? Est-ce que cela fonctionnerait ? Y aurait-il une grave instabilité ou des pertes de données ? Est-ce même possible ?

Au mieux ? 100% rien. Au pire ? Faire planter tout votre système et le rendre inutilisable, voire non amorçable.

Alors que Mac OS X et Linux sont tous deux des "saveurs" différentes d'Unix, vous ne pouvez pas simplement prendre des parties d'un système d'exploitation et les installer dans l'autre en espérant qu'elles fonctionnent.

Cela dit, s'il existe un code source pour le pilote quelque part, vous pourriez potentiellement les compiler pour Mac OS X à l'aide de la suite d'outils de développement Xcode.

Mais c'est une grande si . La réalité est que la compilation du code source d'une application Linux sur un système Mac OS X à partir d'un système Linux est un pari risqué. Parfois, cela fonctionne et vous pouvez utiliser de bons outils Linux sur un système Mac OS X. Mais parfois, cela ne fonctionne pas. Mais parfois, cela ne fonctionne pas. Et ce, au niveau de l'application. Au niveau du pilote, c'est encore moins plausible ou faisable ; et même si c'était faisable, ce serait au mieux difficile à faire.

Cela dit, il semble qu'il y ait eu un effort open source pour compiler les pilotes Linux Intel pour Mac OS X, comme on peut le voir ici. . Mais notez que les versions de Mac OS X auxquelles il est fait référence sont Mac OS X 10.4 et 10.5 ; rien de plus moderne.

10voto

hillu Points 4033

Rien ne se passerait, car ils ne fonctionneraient pas (modules du noyau). MacOS et Linux ont deux noyaux complètement différents. C'est comme essayer de mettre un moteur d'une marque de voiture à une autre : ça ne marchera pas parce que toutes les connexions/spécifications sont totalement différentes.

De plus, il n'y a pas de commandes lsmod/insmod/modbrobe/rmmod dans Mac OS X...

Maintenant, si vous essayez les pilotes binaires, c'est comme si - pardonnez ma comparaison avec les voitures - vous obteniez des matériaux pour un siège de voiture (selon les spécifications de la marque A) et que vous essayiez de construire (compiler) le siège de voiture pour la marque B. Si les deux marques de voitures sont compatibles dans le domaine des sièges de voiture, alors vous y arriverez probablement et cela pourrait fonctionner. Mais si vous essayez de construire un siège de voiture de course à partir des matériaux d'une voiture vieille de 20 ans, vous allez avoir du mal à vous en sortir, si ce n'est vous écraser et vous blesser.

8voto

John Keates Points 2570

Comme déjà indiqué : ce n'est pas possible.

Tout d'abord, l'installation forcée n'existe pas. Il n'y a rien à installer, et même s'il y avait quelque chose à installer, il n'est pas possible de le "forcer". Le terme "installation" peut avoir plusieurs significations, mais ces deux significations sont celles qui sont pertinentes pour votre question :

  1. Installation signifie installer un paquetage Mac OS X à l'aide du programme d'installation d'OS X. Il s'agit d'un paquet contenant les fichiers à installer et des instructions pour le système d'installation afin qu'il sache où mettre quoi, et comment le faire.

  2. L'installation consiste à charger le pilote d'une pièce de matériel dans le noyau. OS X fonctionne en utilisant ce que l'on appelle des extensions du noyau (fichiers .kext, ou officiellement, "paquets" car c'est ce qu'ils sont) pour ajouter des fonctionnalités au noyau. Un pilote est un tel ajout, la fonctionnalité étant la capacité de piloter une pièce de matériel.

Les deux cas sont très liés au système d'exploitation. Cela signifie que vous ne pouvez pas "installer" quelque chose sans répondre aux points 1 et 2. Bien que vous puissiez techniquement sauter le point 1 en utilisant manuellement le programme 'kextload' pour charger un fichier en tant qu'extension du noyau, vous ne seriez pas en mesure de répondre au point 2 : seules les extensions du noyau peuvent être chargées dans le noyau. Les extensions du noyau doivent correspondre à l'ABI et à l'API du noyau. Ces deux acronymes (n'hésitez pas à les rechercher, leur nom complet et leur signification ne sont pas pertinents pour la réponse) sont comparables à la correspondance entre des prises électriques et des fiches électriques. Ce sont des interfaces.

Si vous essayez de mélanger des fichiers binaires (car c'est ce que sont les extensions, modules et pilotes du noyau), cela ne fonctionnera pas car ils ne sont pas compatibles avec le noyau et, dans certains cas, avec le processeur qui doit exécuter le code. Cette compatibilité avec le noyau nous amène à la partie ABI et API : ces interfaces sont comme des connexions de gaz, d'eau et d'électricité. Disons que Windows est le gaz, Linux l'électricité et OS X l'eau. Si vous essayez de brancher une prise électrique de Linux sur le robinet d'eau d'OS X, vous n'obtiendrez aucun résultat. L'eau ne coule pas à travers une prise électrique, et une prise électrique ne reçoit pas d'électricité de l'eau.

Si vous essayez de charger un pilote linux (appelé module de noyau) dans le noyau OS X, en utilisant kextload à partir d'une ligne de commande sous OS X, il vous dira simplement qu'il ne sait pas quoi faire avec le fichier que vous avez fourni. Il n'y a pas de forçage, il ne peut tout simplement rien faire avec ce fichier, tout comme vous ne pouvez pas forcer une ampoule à fonctionner à partir de votre robinet d'eau à la maison.

En ce qui concerne votre problème : que cherchez-vous à atteindre ? Si vous avez un problème avec votre connexion sans fil, le problème vient généralement du réseau ou de l'environnement. S'il vous manque certaines fonctionnalités telles que des fréquences différentes ou des protocoles sans fil plus récents, vous pouvez simplement essayer d'installer une carte mieux supportée. Il existe sur Internet des listes de cartes sans fil nativement prises en charge qui fonctionneront parfaitement. Intel n'en fait pas partie.

J'espère que cela vous aidera et rendra les choses aussi claires que possible.

7voto

Mike Scott Points 10246

Non, ce n'est pas possible, pas plus que vous ne pouvez exécuter n'importe quel autre binaire Linux dans OS X (sans utiliser une machine virtuelle).

1voto

Angelos Points 326

Par ailleurs, si vous avez des périphériques USB qui ne fournissent qu'un pilote Linux mais pas de pilote OS X, vous pouvez envisager d'utiliser le périphérique en exécutant Linux dans une machine virtuelle (VirtualBox ?) puis en transférant la connexion USB de votre Mac vers la VM Linux.

Ensuite, si vous avez besoin d'utiliser certains outils GUI, vous pouvez également configurer la redirection X vers votre bureau OS X en utilisant XQuartz.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X