我的情况是:
我把正点原子的realtek安装到了内核里面,后来由于其中的rtl8188eus驱动失败,所以我又到rtl8188eus官网下载了一个只有rtl8188eus的源码目录。
我把原来的rtl8188EUS目录下清空,再把下载下来的rtl8188eus目录下的所有文件搬移到那个空文件中。
然后当我再make menuconfig勾选上,并且make 的时候,发现勾选上的目录并没有被编译。
分析:
-
realtek下的Makefile
1 #obj-$(CONFIG_RTL8188EUS) += rtl8188EUS/ //这是原来的 2 obj-$(CONFIG_RTL8188EU) += rtl8188EU/ //这是更改后的 3 obj-$(CONFIG_RTL8189FS) += rtl8189FS/ 4 obj-$(CONFIG_RTL8192CU) += rtl8192CU/
为什么我知道,改这里,我通过分析其它目录(CONFIG_RTL8192CU)
-
rtl8192CU->makefile
.... obj-$(CONFIG_RTL8192CU) := $(MODULE_NAME).o ....
于是我就到我的rtl8188EUS的makefile下
-
rtl8188EUS->makefile
obj-$(CONFIG_RTL8188EU) := $(MODULE_NAME).o
发现它叫CONFIG_RTL8188EU,少了一个S!
于是就到realtek的makefile下修改。
当然,Kconfig也要修改
-
realtek->Kconfig
14# config RTL8188EUS 14 config RTL8188EU 15 depends on REALTEK_WIFI 16 tristate "rtl8188eus usb wifi"
原因是
-
rtl8188EUS->Kconfig
1 config RTL8188EU 2 tristate "Realtek 8188E USB WiFi" 3 depends on USB 4 ---help--- 5 Help message of RTL8188EU 6
OK,开始编译。
报错:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
scripts/Makefile.modbuiltin:25: drivers/net/wireless/realtek/rtl8188EU/Makefile: No such file or directory
于是最后一步:将rtl8188EUS目录名改为rtl8188EU。
总结:
- 改realtek的makefile
- 改realtek的Kconfig
- 改realtek下rtl8188EUS目录为rtl8188EU