Linux modules-load 启动时加载驱动模块

Linux modules-load 启动时加载驱动模块

  Linux 内核包含非常多驱动以及其他功能模块,驱动开发时,我们可以通过insmod命令向内核中载入模块、rmmod卸载模块、lsmod列出加载的所有模块。一般情况下,模块会根据硬件接入情况自动载入内核。但某些情况下,我们需要使用modules-load配置将部分驱动(或自己编写的测试驱动)自动载入内核。

手动管理驱动模块

以下指令可以手动单次管理驱动模块,当重启后,修改被复原。

  • insmod: install module, 将.ko模块文件载入内核

    insmod test.ko
    
  • lsmod: list module, 列出所有已加载的驱动模块及其使用情况

  • rmmod: remove module, 卸载模块,将模块名(无后缀名)对应的模块卸载

    rmmod test	# remove module named `test`
    

启动时加载驱动模块

修改配置文件

/etc/modules-load.d/下,创建配置文件,为.conf文件格式

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
test
  • 一行一个模块名称(无后缀名,后面会讲系统如何寻找模块文件位置)
  • 使用#表示注释行

安装模块

仅在配置文件中指定模块名称并不能找到模块。Linux系统有自己存放驱动的位置:

/lib/modules/<linux_kernel_version>/kernel

/usr/lib/modules/<linux_kernel_version>/kernel

我们一般将驱动模块放在drivers子目录下,按照功能放在对应目录中(也可放在外面)

移动完成后,一定要执行depmod更新文件映射,否则仍然无法识别模块

modprobe将根据depmod提供的模块依赖信息进行模块文件映射和加载。

最后,reboot后,lsmod查看模块加载情况。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值