使用dkms将驱动加入内核模块
这篇文章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将驱动加入内核模块相关推荐
- linux的驱动开发——内核模块如何使用?
1.内核模块的使用 \qquad查看内核模块的信息的命令: modinfo xxx.ko \qquad查看当前内核中已经插入的内核模块 lsmod \qquad将内核模块加载到内核中,和内核形成一个整 ...
- linux的驱动开发——内核模块的编译
1.编译内核模块的编译器 \qquad编译器:gcc 交叉编译器 2.编写编译内核模块的Makefile \qquad内部编译:内核模块的源文件放在内核源码中进行编译,需要修改内核中的kconfig, ...
- 在Fedora中全自动签名英伟达驱动内核模块以支持安全启动(Secure Boot)
目录 前言 前提条件 具体步骤 1.将系统更新到最新并重启Fedora 2.安装Mok工具(mokutil)和密钥生成工具(openssl) 3.生成内核驱动模块的自签安全启动密钥 4.将刚刚自签的安 ...
- linux安装旧版硬件驱动,【工程师笔记】第四期:老版Linux不用愁 ——使用DKMS轻松制作RAID卡驱动...
做技术的朋友可能有过类似这样的感觉--每天都会遇到新的问题,或者学到新的知识.然而一个人的时间和精力毕竟有限,不是所有的岗位都能做到总是亲力亲为,每人最擅长的领域也各不相同.为了使工程师自己踩过的坑. ...
- Kali Linux 安装Nvidia显卡驱动(二)CUDA, Pyrit and Cpyrit-cuda
1:已增加KaliLinux官方源或其它源后更新. apt-get update && apt-get upgrade -y && apt-get dist-upgra ...
- 在Fedora上安装NVIDIA驱动详细教程及解析
写在前面:在经历了各种尝试和试错之后,发现并总结出了比较合适.安全且合理的NVIDIA驱动安装方案,本教程基于Fedora linux发行版,rhel,RockyOS等基本完全相同,deb系及其它li ...
- Linux内核模块学习笔记(转载)
Linux内核模块 Linux设备驱动会以内核模块的形式出现,因此学会编写Linux内核模块编程是学习linux设备驱动的先决条件. 1.1linux内核模块简介 Linux内核的整体结构非常庞 ...
- Linux内核模块的概念和基本的编程方法
Linux内核模块的概念和基本的编程方法 标签: Linux内核模块 2013-06-14 18:29 1864人阅读 评论(0) 收藏 举报 分类: linux内核(34) 版权声明:本文为博主原创 ...
- linux内核启动后门,Linux内核模块入门之简单内核后门
内核模块简介 Linux内核支持运行时动态扩展,即运行时动态加载内核扩展模块(.ko文件),ko文件所包含的代码经加载后即成为内核代码的一部分,拥有内核特权,可以调用内核其它组件,访问内核空间数据以及 ...
- 手把手带你写一个中断输入设备驱动
今天群里有人问,要开始驱动开发的话从什么开始比较好. 我说,应该开始去摸索触摸屏驱动,现在我想了下,触摸屏驱动可能会难了些,但是从一个GPIO开始,我觉得一定是一件很容易的事情. 所以这篇文章就来了. ...
最新文章
- exchange2003如何恢复邮件
- java byte 循环左移 循环右移 rotateLeft rotateRight
- 调用Remoting的两种激活方式和以及因此而产生的三种.net Remoting对象
- C#泛型委托,匿名方法,匿名类
- MongoDB限制与阈值
- 消息中间件系列(五):MQ消息队列的12点核心原理总结
- 如何修改Win11睡眠时间
- 用java实现云计算的两种趋势性方法
- 玩转SpringBoot2.x之缓存对象
- 矛与盾的较量──网络***和防火墙详解
- Could not find a JavaScript runtime
- JAVA练习题(正则表达式)
- 大一高数下册笔记整理_高数下册学习笔记
- frontpage 2010.2003绿色版
- php录音功能,h5做出网页录音功能
- 毕业设计php做个人网站,个人网站的设计与实现
- Vue2开发的读书WebAPP
- python递归函数
- Google Earth Engine学习笔记(一)
- 计算机系统(八):网络层(上篇)