内核insmod 第二种方法

方法二:
将demo.ko文件拷贝到 /lib/module/`uname -r`/目录下,这里,`uname -r`意思为在终端中输入此命令执行的结果后显示的内核版本及名称,例如exynos 4412中显示的为3.5.0-FriendlyARM

然后命令行中输入如下命令:

depmod
(会在/lib/modules/`uname -r`/目录下生成modules.dep和modules.dep.bb文件,表明 模块的依赖关系)

最后执行:

modprobe demo(注意:这里不用输入.ko后缀)

两种方法的区别:

    1. modprobe和insmod类似,都是用来动态加载驱动模块的,区别在于modprobe可以解决load module的依赖关系,它是通过 /lib/modules/`uname -r`/modules.dep和modules.deo.bb文件来查找依赖关系的;而insmod不能解决依赖关系。
    2. 也就是说,如果你确定你要加载的驱动模块不依赖其他驱动模块的话,既可以insmod也可以modprobe;但是insmod可以在任何目录下执行,更方便一些,而如果使用的加载的驱动模块还依赖其他.ko驱动模块的话,将模块拷贝到上述的特定目录比较方便,depmod之后再modprobe xxx.ko即可。也可以一个一个使用insmod命令插入模块。

posted on   lydstory  阅读(163)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-04-08 pthread_mutex_t
2020-04-08 查看.so 32位64位
2020-04-08 加密版sqlite
2020-04-08 类的消息处理-迈向优秀的程序员的方法
2020-04-08 c oracle proc
2019-04-08 sqlite.c sqlite.h
2019-04-08 ACE自适配通信环境

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示