如何为FriendlyARM mini210s编译Netis WF2190 Wifi dongle的Linux驱动程序?

如何为FriendlyARM mini210s编译Netis WF2190 Wifi dongle的Linux驱动程序?

目标

我想将 Netis WF2190 wifi dongle Linux 驱动程序安装到我的FriendlyARM mini210s上。

环境

我知道我需要交叉编译Netis WF2190 Linux 驱动程序

我正在使用虚拟机进行交叉编译(vagrant box)

$ uname -a
Linux vagrant 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

我已下载驱动程序并将其复制到我的虚拟机中

vagrant@vagrant:~/rtl8812AU_linux_v4.3.8_12175.20140902$ 

在驱动程序中Makefile,我添加了这些

CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_FRIENDLYARM_MINI210S = y     <==== 

进而

ifeq ($(CONFIG_PLATFORM_FRIENDLYARM_MINI210S), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := /home/vagrant/friendlyarm/tools/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-
KVER  := 3.0.8
KSRC := /home/vagrant/friendlyarm/linux-3.0.8/kernel
endif

然后尝试编译,但出现此错误,

vagrant@vagrant:~/rtl8812AU_linux_v4.3.8_12175.20140902$ make
make ARCH=arm CROSS_COMPILE=/home/vagrant/robot-os/friendlyarm/tools/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi- -C /home/vagrant/robot-os/friendlyarm/linux-3.0.8/kernel  M=/home/vagrant/rtl8812AU_linux_v4.3.8_12175.20140902  modules
make[1]: Entering directory `/home/vagrant/robot-os/friendlyarm/linux-3.0.8/kernel'
make[1]: *** No rule to make target `modules'.  Stop.
make[1]: Leaving directory `/home/vagrant/robot-os/friendlyarm/linux-3.0.8/kernel'
make: *** [modules] Error 2

值得注意的是,我不是专家,我正在努力学习如何实现我的目标。

在这个阶段,我只是不明白该消息告诉我什么,以及如何解决它。

任何帮助将不胜感激。

答案1

内核源码路径错误,我更正为:

KSRC := /home/vagrant/friendlyarm/linux-3.0.8/

它编译了

答案2

在驱动程序 Makefile 中,我添加了这些

这不是解决这个问题的方法。看这里-- 您或许可以跳到步骤#3。

然后尝试编译,但出现此错误

从您的剪切和粘贴来看,您make之前运行过make modules,但什么也没发生。那可不好。 make应该实际构建内核,这可能是也可能不是制作模块所必需的(不确定它是否应该,但有时似乎是这样)。这至少需要几分钟,并且应该会产生大量输出。如果那没有发生,那就大错特错了。

我已经通过 crosstool-ng 使用 gcc 交叉构建了内核,并且必须设置TARGET;您似乎没有这样做(但发行版交叉编译器可能不同)。然而,通过修改内核 makefile 来设置这些东西可能是一个错误。只需在环境中执行即可:

export TARGET=arm-none-linux-gnueabi
export ARCH=arm
export CROSS_COMPILE=/foo/bar/etc

将其放入文本文件中并在运行 make ( source my_environment.sh) 之前获取它。

相关内容