在 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 -好的
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 : 遇到致命错误 -- 无法继续 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: 没有这样的文件或目录。停止。
gmake: *** [Makefile:1699: 模块] 错误 2
现在我已经走进了死胡同。我不知道该用谷歌搜索什么了。
答案1
您似乎正在尝试在 FreeBSD 上编译 Linux 内核模块。
尽管 Linux 和 FreeBSD 都是类 Unix 操作系统,但它们使用的内核在许多方面都完全不同。这意味着专门为 Linux 内核编写的一段内核代码(例如内核模块)将无法在 FreeBSD 系统上编译和/或工作。
在这种情况下,了解 FreeBSD 内核及其体系结构,并且至少了解 Linux 内核的一般知识的人可能会考虑坐下来港口从 Linux 到 FreeBSD 的驱动程序。这涉及到获取驱动程序的基本工作原理并将其转换为适合 FreeBSD 内核执行等效操作的方式的内容。
这是一项需要时间和知识的事业。
由于我不熟悉该驱动程序,也不熟悉 FreeBSD,因此遗憾的是,我无法确定该驱动程序支持的设备是否已受 FreeBSD 支持。
答案2
在这个仓库中:https://github.com/diederikdehaas/rtl8814AU
有一个命令可以转换为 unix 。 '来源报价'
将所有行结尾转换为 unix。
用于执行该操作的命令是: find 。 -path ./.git -prune -o -name '*' -type f -print | -path ./.git -prune -o -name '*' -type f -print | xargs egrep -l $'\r'\$ | xargs egrep -l $'\r'\$ | xargs perl -pi -e 's/\r\n/\n/g'
这会递归地查找所有文件,但不包括“.git”目录。然后它检查是否有 dos 行结尾,如果有,则将它们转换为 unix。没有 ' | xargs perl ...' 部分,它将列出以 dos 行结尾的文件。
看起来 Realtek 终于开始学习了,这次只有几个文件:)