web-dev-qa-db-ja.com

Mac OSXでLinuxUSBドライバーを使用することは可能ですか?

私は日常的に使用しているUSBデバイスと、LinuxおよびWindowsドライバーを持っています。このデバイスをMacOS Xで使用したいと思います(つまり、VMを介さない)。出来ますか?ドライバにはソースが含まれているように見えることに注意してください。

編集
私を読んでからのシステム要件:

  • Linux2.4または2.6
  • カーネルコンパイルのシステムセットアップ。
2
Adam Lewis

いいえ。カーネルインターフェイスは完全に異なります。 MacOSXとLinuxはどちらもUNIXっぽいですが(実際、Mac OS Xは100%UNIX認定済みです)、アーキテクチャが大きく異なります。最善の策は、VMWareを試して、VMWareの下のLinuxインスタンスを使用してそれにアクセスすることです。

編集:ソースがあり、VMWareが不要だと言って、編集を見たところです。私はまだノーと言います。 LinuxとMacOSXの基盤は根本的に異なります。誰かがMacOSX専用に動作させない限り、ソースは「正常に動作」しません。 '#ifdef darwin'またはそれに類似したもののソースを確認しますが、機能しません。あなたも正しいバージョンを持っている必要があるでしょう-Appleは、非常に古いポートが機能しないかもしれないほどメジャーリリース間でカーネルを変更します。

何年も前に、デバイスドライバーをプラットフォーム間で移植できるようにするプロジェクトがありました。それは プロジェクトUDI と呼ばれていました。理論は、カーネルにデバイスドライバー環境を含めることでした。 APIは、すべてのOSで一貫しています。デバイスドライバーはどこでもソースコード互換性があり、同じABI(x86、AMD64など)のマシン間でバイナリ互換性(必要なもの)でした。ダーウィンのために覚えているポートがありましたが、MacOSXでは何よりも理論的だったと思います。

環境は技術的には機能しましたが(実際には、UnixWareのネイティブデバイスドライバーインターフェイスとして出荷され、古いDDIはUDIの上に互換性レイヤーがあります)、人的/政治的な理由で機能しませんでした。 SCO/Caldera をプロジェクトのメインプッシュとして持つことはあまり役に立ちませんでした。優れたドライバーサポートを備えたOS(Solaris、Windowsなど)の場合、これらのドライバーを備えていることは、そうでないカーネルよりも有利であるため、ドライバーを備えていないOSからのサポートは定義上、あまり影響を受けません。 。ストールマンもそれをあまり好きではなかった-バイナリ互換性はドライバーのためにソースを出荷する可能性を低くするだろう(彼は主張した)。

5
Rich Homolka