你了解Linux模块驱动开发中的各种操作?

 modules.dep文件记录了内核模块间的依赖关系,此文件是使用module-init-tools套件中的depmod命令时自动生成的。

每个内核版本都有一个对应的modules.dep文件,存放在/lib/modules/kernel-ve     rs   ion目录下。
此文件中内核的依赖关系使用  "filename: [filename]*" 这样的形式描述。
空行和"#"开头的行会被忽略掉。
整个文件中的依赖关系是降序描述的,举例来说:

假如模块/lib/modules/2.5.53/kernel/a.ko依赖于同目录下的b.ko和c.ko,而c.ko又依赖于b.ko,那么这三者的依赖关系描述就是如下这样:

# "#"号开头行是注释
/lib/modules/2.5.53/kernel/a.ko: /lib/modules/2.5.53/kernel/c.ko /lib/modules/2.5.53/kernel/b.ko
/lib/modules/2.5.53/kernel/b.ko:
/lib/modules/2.5.53/kernel/c.ko: /lib/modules/2.5.53/kernel/b.ko

modprobe命令就是依照这个顺序来载入模块的。

下图是我画的一个大概示意图。

 你了解Linux模块驱动开发中的各种操作?_设计制作_嵌入式技术

modprobe与depmod

1.modprobe

modprobe - prog     ram   to add and remove modules f     rom   the     Linux   Kernel

modprobe和insmod类似,是用来动态加载模块的,区别在于

modprobe可以解决load module时的依赖关系,它是通过/lib/modules//modules.dep(.bb)文件来查找依赖关系的;而insmod不能解决依赖问题。

如有2个模块g_file_storage.ko和udc.ko,g_file_storage.ko依赖于udc.ko,在加载g_file_storage.ko前必须先加载udc.ko,如果使用insmod加载,必须按顺序一个一个加载:

insmod udc.ko

insmode g_file_storage.ko file=/dev/mtdblock3

如果使用modprobe加载则执行:

modprobe g_file_storage file=/dev/mtdblock3/*此处的加载对象写为g_file_storage,非g_file_storage.ko*/

PS:modules.dep(.bb)文件内容如下:

g_file_storage.ko

udc

udc.ko symbol:     usb   _gadget_unregis     te   r_driver symbol:usb_gadget_register_driver

2.depmod

depmod - program to generate modules.dep and map files

当把模块文件放到/lib/module/`uname -r`/目录下,运行depmod,则会在/lib/modules//目录下生成modules.dep(.bb)文件,表明了模块的依赖关系

3. 对于在使用"modprobe xxx"动态加载过程中出现“modprobe XXX not found”

若出现此问题,需确认:

1. modules.dep(.bb)文件是否生成,若没有,则可以运行depmod,生成此依赖关系文件

2. 若有依赖关系文件,仍出现此问题,把modprobe xxx.ko改为执行modprobe xxx




7
61
0
75

相关资讯

  1. 1、DNA“碎纸机”:科学家开发出全新CRISPR基因编辑工具3466
  2. 2、购物车借你抄!vivoTWSNeo真无线耳机用户评价汇总971
  3. 3、泰格豪雅Connected智能手表亮相售价高达1.3万元!2405
  4. 4、马来西亚联合中国公司建人工智能园区推动技术发展3932
  5. 5、蔚来EC6本月24日上市开卖将在成都车展上公布价格4173
  6. 6、5万级全民SUV风光500正式上市全系售价5.48-7.48万!703
  7. 7、美国能源部门斥巨资发展人工智能多管齐下未来可期483
  8. 8、长这样?特斯拉中国风新车型来了官方开始疯狂招人4161
  9. 9、通用在华策略转变或首次在中国市场销售进口大型SUV1903
  10. 10、全新铃木Swace官图出炉修长车身于今年底亮相欧洲357
全部评论(0)
我也有话说
0
收藏
点赞
顶部