Freebsd

如何在 FreeBSD 中編譯驅動程序

  • July 2, 2017

在 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 支持。

引用自:https://unix.stackexchange.com/questions/374820