/lib/modules/`uname -r`/kernel/drivers/gpu/drm/i915/i915.ko
Nvidia的闭源驱动则以 DKMS 动态内核模块放置在敏滚 :
/lib/modules/`uname -r`/updates/dkms/
Dynamic Kernel Module Support Framework
DKMS is a framework designed to allow individual kernel modules to be upgraded without changing the whole kernel. It is also very easy to rebuild modules as you upgrade kernels.
动态内核模块DKMS的用途包括:
在不影响现有内核的情况下,安装新的模块到现有系统上,比如Nvidia和AMD的闭源驱动程序.
当你更新内核租族时,将非常容易重建模块,比如VirtualBox在Linux上的虚拟化驱动.
假设模块的源文件为hello.c,源码如下:
使用该文件兄中编译内核模块。
正常情况下,Makefile文件内容如下:
执行 make 命令,生成hello.ko文件。
执行 sudo insmod hello.ko 命令,安装该模块。
执行腔猛 lsmod 命令,查看安装的模块。就会看到第一行的就是hello模块。
但是,如果想自定义模块名称为 xmodule ,而不是默认的 hello ,如何实现呢?方法如下:
在Makefile中重命名obj-m并将obj-m的依赖关系设置为原始模块(hello)
修改后的Makefile文件内容如下:
将obj-m设置为 xmodule .o,并使 xmodule .o依赖于 hello .o.
执行 make 命令后,伍尘桥生成 xmodule .ko, 而不是 hello .ko,
安装命令: sudo insmod xmodule.ko
查看命令: lsmod ,就会看到被安装名为 xmodule 的模块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)