web-dev-qa-db-ja.com

FreeBSDでドライバーをコンパイルする方法

Ubuntu 16.04では、次のように実行できます。

apt-get install build-essential git
git clone https://github.com/CristianVladescu/rtl8814AU.git
cd rtl8814AU && make && make install

FreeBSDで、私はこれを試しました:

  • FreeBSD 10.3をソースファイルとともにインストールします[〜#〜] ok [〜#〜]
  • pkg install git -[〜#〜] ok [〜#〜]
  • git clone https://github.com/CristianVladescu/rtl8814AU.git -[〜#〜] ok [〜#〜]
  • cd rtl8814AU -[〜#〜] ok [〜#〜]
  • make --[〜#〜] fail [〜#〜]

make: "/ root/rtl8814AU/Makefile" 137行目:依存関係演算子がありません
make: "/ root/rtl8814AU/Makefile"行139:演算子が必要
make: "/ root/rtl8814AU/Makefile"行141:依存関係演算子がありません
.。
make: "/ root/rtl8814AU/Makefile"行1688:演算子が必要
make: "/ root/rtl8814AU/Makefile"行1692:演算子が必要
make: "/ root/rtl8814AU/Makefile" 1734行目:演算子が必要
make:致命的なエラーが発生しました-続行できませんmake:/ root/rtl8814AUで停止しました

  • pkg install gmake -[〜#〜] ok [〜#〜]
  • gmake --[〜#〜] fail [〜#〜]

gmake Arch = AMD64 CROSS_COMPILE = -C /lib/modules/10.3-RELEASE/build M =/root/rtl8814AUモジュール
gmake [1]:*** /lib/modules/10.3-RELEASE/build:そのようなファイルまたはディレクトリはありません。やめる。
gmake:*** [Makefile:1699:モジュール]エラー2

今、私は行き止まりに達しました。私はもう何をググるのか見当がつかない。

2
Chris

FreeBSDでLinuxカーネルモジュールをコンパイルしようとしているようです。

LinuxとFreeBSDはどちらもUnixライクなオペレーティングシステムですが、多くの点で互いにまったく異なるカーネルを採用しています。これは、Linuxカーネル用に特別に作成されたカーネルコード(カーネルモジュールなど)の一部が、FreeBSDシステムでコンパイルおよび/または動作しないことを意味します。

このような状況では、FreeBSDカーネルとそのア​​ーキテクチャーの知識があり、少なくともLinuxカーネルの一般的な知識がある人は、ドライバーのポートに座ることを検討する可能性があります。 LinuxからFreeBSDへ。これには、ドライバーの基本的な動作を取得し、FreeBSDカーネルが同等のことを行う方法に適合するものに変換することが含まれます。

それは時間と知識の両方を必要とする事業です。

私はドライバーやFreeBSDにあまり詳しくないので、残念ながら、ドライバーがサポートしているデバイスがFreeBSDでサポートされているかどうかはわかりません。

3
Kusalananda