如何在 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
-好的git clone https://github.com/CristianVladescu/rtl8814AU.git
-好的cd rtl8814AU
-好的make
-失敗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: 在 /root/rtl8814AU 中停止
pkg install gmake
-好的gmake
-失敗gmake ARCH=amd64 CROSS_COMPILE= -C /lib/modules/10.3-RELEASE/build M=/root/rtl8814AU 模組
gmake
$$ 1 $$:*** /lib/modules/10.3-RELEASE/build:沒有這樣的文件或目錄。停止。
製作:***$$ Makefile:1699: modules $$錯誤 2
現在我走到了死胡同。我不知道要Google什麼了。
您似乎正在嘗試在 FreeBSD 上編譯 Linux 核心模組。
儘管 Linux 和 FreeBSD 都是類 Unix 作業系統,但它們使用的核心在許多方面都完全不同。這意味著專門為 Linux 核心編寫的一段核心程式碼(例如核心模組)將無法在 FreeBSD 系統上編譯和/或工作。
正是在這種情況下,了解 FreeBSD 核心及其體系結構的人,至少對 Linux 核心有一定的了解,可能會考慮坐下來將驅動程序從 Linux移植到 FreeBSD。這涉及獲取驅動程序的基本工作並將其轉換為適合 FreeBSD 核心執行等效操作的方式。
這是一項既需要時間又需要知識的事業。
由於我不熟悉驅動程序,或者在更大程度上不熟悉 FreeBSD,很遺憾,我不能說驅動程序支持的設備是否已經被 FreeBSD 支持。