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

2023-10-27

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查看模块加载情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux modules-load 启动时加载驱动模块 的相关文章

随机推荐

  • 简洁封装axios请求,拦截器等

    简单封装axios发送get post put等各种请求 让请求体验保持一致 本质上除了get请求 其他请求都是post请求 所以单独处理下get请求 其他请求跟axios保持一致就可以 import axios from axios im
  • 弱口令总结和爆破工具

    福利 网络安全重磅福利 入门 进阶全套282G学习资源包免费分享 弱口令定义 网站管理 运营人员由于安全意识不足 为了方便 避免忘记密码等 使用了非常容易记住的密码 或者是直接采用了系统的默认密码等 攻击者利用此漏洞可直接进入应用系统或者管
  • nginx 服务器性能,Nginx服务器的性能依然强劲

    Nginx服务器一直在默默的为我们服务着 但是我们有很多人都不是很了解 其实Nginx服务器是一个很神奇的东西 下面的文章就会对你有所启发 希望找到自己想要找到的东西 基于memcached的缓存 Nginx服务器对memcached有所支
  • python pytorch之clamp()函数

    torch clamp input min max out None Tensor 将输入input张量每个元素的夹紧到区间 min max min max 并返回结果到一个新张量
  • 1.c#的基础框架

    C C Sharp 是一种通用的面向对象编程语言 由微软开发 C 的基础框架是 NET Framework 它提供了丰富的库和功能 用于开发各种类型的应用程序 下面是C 基础框架的主要组成部分 类库 Class Library NET Fr
  • K均值、模糊C均值、直觉模糊C均值的理解与C++实现

    最近做课题想到用聚类算法做图像分割 从理论到实践 好不容易把理论看完 大概明白是个什么意思 到了代码转化的步骤 what the fuck 这都是什么 自己不会编就算了 把别人的代码借过来根本看不懂在写什么 特此开贴记录坑爹玩意儿 1 K
  • MySQL十九:分库分表实践

    在很多小型应用中都没真正使用分库分表 但是说起来并不陌生 因为我们在面试中经常会被问到 今天我们从从以下几个方面来聊聊分库分表 是什么 解决什么 怎么做 为什么要这么做 即 分库分表是什么 分库分表解决什么问题 分库分表怎么做 分库分表什么
  • Jmeter 线程组/配置元件讲解

    配置元件讲解 线程组 线程组详解 压力测试 HTTP取样器 高级设置 响应 超时 下载资源 代理服务器 保存MD5格式数据 配置元件 HTTP请求默认值 HTTP信息头管理器 HTTPCookie管理器 HTTP缓存管理器 用户定义的变量
  • 思科 计算机网络 期末考试答案

    以下哪个域名是顶级域的一个示例 A root cisco com B www cisco com C cisco com D com DNS根域下面是顶级域 也由Internet域名注册授权机构管理 共有3种类型的顶级域 1 通用顶级域名
  • [极客大挑战 2019]Http(BUUCTF)

    前言 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 解题工具 我用fiddler抓包 burpsuite也可以 解题过程 用F12查看一下源代码 发现Secret php 进入是一个高档页面 翻译一下意思是 来源不是
  • Centos 7.0 的svn

    第一步 1 1 yum 安装 yum install subversion 1 2 查看版本号 span style font size 16px svn version span 到这就配置成功了 span style font size
  • Prometheus监控各系统

    使用及安装 Prometheus 安装 Prometheus wget https github com prometheus prometheus releases download v2 30 3 prometheus 2 30 3 l
  • 10个数冒泡排序流程图_图文解析:如何用PLC梯形图实现冒泡排序算法?

    作者注 此程序仅供欣赏 作为科普知识了解即可 实际工程当中PLC一般都有专用的排序指令或函数 不需要我们亲自写排序算法 什么是冒泡排序 学习过一点C语言的朋友 对冒泡排序的概念应该并不陌生 冒泡排序是一种非常基础的排序算法 它的过程是将N个
  • G711 G729音频编码总结

    g729编码 每次只能编码160个字节 编码后为10个字节大小 16 1的压缩比 如果要编码320字节的数据 需要分两次进行 并且G729A不支持多路同时解码 否则声音会有问题 G729b也不行 ITU上的代码都不支持多路解码 但是g729
  • 【华为机试真题 C++】高矮个子排队-100

    编程题目 100分 高矮个子排队 2021 H1 H2 2022 Q1 考试题 时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 本题可使用本地IDE编
  • 毕业设计 stm32智能扫地机器人 - 单片机 嵌入式

    文章目录 0 简介 1 课题背景 2 硬件系统总体框架 2 1 电机驱动 2 2 红外线传感器 2 3 超声波传感器 2 4 MPU6050 2 5 ATK ESP8266 WI FI 模块 2 6 电源管理模块 3 软件系统设计 3 1
  • Jupyterlab 3以及Kite代码补全插件安装

    Jupyterlab 3 以及Kite代码补全插件安装 为啥安个这玩意儿 之前一直用Jupyter写一些机器学习和深度学习的东西 尤其是去年一年里白嫖谷歌的Colab很长时间 甚至还开了pro 他们的工作台就是Jupyter类型的 用多了就
  • 【Bias 03】Benchmarking Robustness in Object Detection: Autonomous Driving when Winter is Coming

    Related work Improving corruption robustness 去除腐蚀 1 提出一种基于DNN 恢复雨雾图片质量的方法 2 预处理中去除雨 但这种方法都是针对某种腐蚀 数据增强 把腐蚀数据加入训练 1 blurr
  • C++类模板和static数据成员

    静态数据成员对象之间共享的 当静态数据成员遇上类模板式也是如此吗 现有demo类模板 类中包含static数据成员 template
  • Linux modules-load 启动时加载驱动模块

    Linux modules load 启动时加载驱动模块 Linux 内核包含非常多驱动以及其他功能模块 驱动开发时 我们可以通过insmod命令向内核中载入模块 rmmod卸载模块 lsmod列出加载的所有模块 一般情况下 模块会根据硬件