这篇文章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

使用dkms将驱动加入内核模块相关推荐

  1. linux的驱动开发——内核模块如何使用?

    1.内核模块的使用 \qquad查看内核模块的信息的命令: modinfo xxx.ko \qquad查看当前内核中已经插入的内核模块 lsmod \qquad将内核模块加载到内核中,和内核形成一个整 ...

  2. linux的驱动开发——内核模块的编译

    1.编译内核模块的编译器 \qquad编译器:gcc 交叉编译器 2.编写编译内核模块的Makefile \qquad内部编译:内核模块的源文件放在内核源码中进行编译,需要修改内核中的kconfig, ...

  3. 在Fedora中全自动签名英伟达驱动内核模块以支持安全启动(Secure Boot)

    目录 前言 前提条件 具体步骤 1.将系统更新到最新并重启Fedora 2.安装Mok工具(mokutil)和密钥生成工具(openssl) 3.生成内核驱动模块的自签安全启动密钥 4.将刚刚自签的安 ...

  4. linux安装旧版硬件驱动,【工程师笔记】第四期:老版Linux不用愁 ——使用DKMS轻松制作RAID卡驱动...

    做技术的朋友可能有过类似这样的感觉--每天都会遇到新的问题,或者学到新的知识.然而一个人的时间和精力毕竟有限,不是所有的岗位都能做到总是亲力亲为,每人最擅长的领域也各不相同.为了使工程师自己踩过的坑. ...

  5. Kali Linux 安装Nvidia显卡驱动(二)CUDA, Pyrit and Cpyrit-cuda

    1:已增加KaliLinux官方源或其它源后更新. apt-get update && apt-get upgrade -y && apt-get dist-upgra ...

  6. 在Fedora上安装NVIDIA驱动详细教程及解析

    写在前面:在经历了各种尝试和试错之后,发现并总结出了比较合适.安全且合理的NVIDIA驱动安装方案,本教程基于Fedora linux发行版,rhel,RockyOS等基本完全相同,deb系及其它li ...

  7. Linux内核模块学习笔记(转载)

    Linux内核模块    Linux设备驱动会以内核模块的形式出现,因此学会编写Linux内核模块编程是学习linux设备驱动的先决条件. 1.1linux内核模块简介 Linux内核的整体结构非常庞 ...

  8. Linux内核模块的概念和基本的编程方法

    Linux内核模块的概念和基本的编程方法 标签: Linux内核模块 2013-06-14 18:29 1864人阅读 评论(0) 收藏 举报 分类: linux内核(34) 版权声明:本文为博主原创 ...

  9. linux内核启动后门,Linux内核模块入门之简单内核后门

    内核模块简介 Linux内核支持运行时动态扩展,即运行时动态加载内核扩展模块(.ko文件),ko文件所包含的代码经加载后即成为内核代码的一部分,拥有内核特权,可以调用内核其它组件,访问内核空间数据以及 ...

  10. 手把手带你写一个中断输入设备驱动

    今天群里有人问,要开始驱动开发的话从什么开始比较好. 我说,应该开始去摸索触摸屏驱动,现在我想了下,触摸屏驱动可能会难了些,但是从一个GPIO开始,我觉得一定是一件很容易的事情. 所以这篇文章就来了. ...

最新文章

  1. exchange2003如何恢复邮件
  2. java byte 循环左移 循环右移 rotateLeft rotateRight
  3. 调用Remoting的两种激活方式和以及因此而产生的三种.net Remoting对象
  4. C#泛型委托,匿名方法,匿名类
  5. MongoDB限制与阈值
  6. 消息中间件系列(五):MQ消息队列的12点核心原理总结
  7. 如何修改Win11睡眠时间
  8. 用java实现云计算的两种趋势性方法
  9. 玩转SpringBoot2.x之缓存对象
  10. 矛与盾的较量──网络***和防火墙详解
  11. Could not find a JavaScript runtime
  12. JAVA练习题(正则表达式)
  13. 大一高数下册笔记整理_高数下册学习笔记
  14. frontpage 2010.2003绿色版
  15. php录音功能,h5做出网页录音功能
  16. 毕业设计php做个人网站,个人网站的设计与实现
  17. Vue2开发的读书WebAPP
  18. python递归函数
  19. Google Earth Engine学习笔记(一)
  20. 计算机系统(八):网络层(上篇)

热门文章

  1. 给程序员推荐一些提高工作效率的工具
  2. Excel竟然能够按照单元格的指定颜色顺序排序
  3. 关于微信小程序,input框的值无法输入到e.detail.value
  4. 深思新推出高性价比智能卡加密锁--魔锐1
  5. KY-RTI分布仿真技术:第一章 简介
  6. Word 标题前面的黑点
  7. Matlab 线性拟合 polyfit 结果不准/偏差很大
  8. 设计思维(Design Thinking)
  9. 第一台微型计算机处理器位数,微处理器芯片的位数指的是什么 - 全文
  10. 常用分析模型---RFM客户价值模型