Linux Modules 日常使用介绍

tl;dr
应用场景:平时使用特殊的硬件时,需要手工对驱动和模块进行加载和管理。


1. Linux模块分类

  • 包含在内核中的模块
  • 动态加载到内核的模块

2. 配置动态自动加载

  • 动态模块存放路径: /lib/modules/$(uname -r)/kernel
  • 模块间依赖关系文档:/lib/modules/$(uname -r)/modules.dep

2.1 自动建立新的模块及其依赖关系

鸟哥的Linux私房菜截图

2.2 查看已经载入内核的模块状态

lsmod

ray@ray-ThinkPad-X250:/lib/modules/4.8.0-25-generic$ lsmod | head
Module                  Size  Used by
hid_multitouch         20480  0
msr                    16384  0
acpi_call              16384  0
rfcomm                 77824  2
ccm                    20480  0
cmac                   16384  1
bnep                   20480  2
uvcvideo               90112  0
videobuf2_vmalloc      16384  1 uvcvideo

2.3 查看每个模块的详细信息:

modinfo,查看已经加载到内核的模块、以及单独的模块文件信息


鸟哥的Linux私房菜截图

2.4 加载移除模块

insmod/rmmod,insmod需要指定详细的模块文件路径
modprobe,分析模块间依赖关系/lib/modules/$(uname -r)/modules.dep后再加载、移除模块。(insmod命令不分析依赖关系)

鸟哥的Linux私房菜截图

3. 配置内核模块

将模块编译进内核


参考URL:
http://blog.csdn.net/mrjy1475726263/article/details/8507744
http://blog.sina.com.cn/s/blog_716844910100s3lf.html
http://blog.jobbole.com/89886/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容