使用dkms将驱动加入内核模块
这篇文章http://xmodulo.com/build-kernel-module-dkms-linux.html讲的很详细,但是我遇到了一些问题,分享给大家,此篇教程只适用于我的rtl8723du驱动的情况,对于其他的情况可能适用,可能不适用。前提是在rtl8723du目录下直接执行make ;make install是没有问题的,但是在使用dkms时遇到了下列问题1、路径问题,dkm...
这篇文章http://xmodulo.com/build-kernel-module-dkms-linux.html讲的很详细,但是我遇到了一些问题,分享给大家,此篇教程只适用于我的rtl8723du驱动的情况,对于其他的情况可能适用,可能不适用。前提是在rtl8723du目录下直接执行make ;make install是没有问题的,但是在使用dkms时遇到了下列问题
1、路径问题,
dkms在将含Makefile的项目加入内核时,由于dkms路径已经改变了,好像是变到lib那去了,那么我们可以在Makefile添加下面的代码来适配在dkms中的情况
ifeq ($(src),)
export TopDIR ?= $(shell pwd)
else
export TopDIR ?= $(src)
endif
2、post 0 MODULE 问题
需要添加一行CONFIG_RTL8723DU := m,不知其所以然。。。
ifeq ($(CONFIG_RTL8723B), y)
$(MODULE_NAME)-$(CONFIG_MP_INCLUDED)+= core/rtw_bt_mp.o
endif
CONFIG_RTL8723DU := m
obj-$(CONFIG_RTL8723DU) := $(MODULE_NAME).o
else
export CONFIG_RTL8723DU = m
3、最后两个坑:
dkms.conf其中的package name和module name均不能有大写,否则会crash
package name和/或module name都必须与makefile中的一致,否则binarary package not found
更多推荐
所有评论(0)