驱动命令之insmod depmod modprobe rmmod modinfo lsmod

insmod命令

insmod需指定所需加载模块的路径,且只加载所指定的模块,如果所指定的模块依赖于其他模块,insmod不会自动添加;

语法

insmod [-fkmpsvxX][-o <模块名称>][模块文件][符号名称 = 符号值]

参数说明

  • -f  不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入。
  • -k  将模块设置为自动卸除。
  • -m  输出模块的载入信息。
  • -o<模块名称>  指定模块的名称,可使用模块文件的文件名。
  • -p  测试模块是否能正确地载入kernel。
  • -s  将所有信息记录在系统记录文件中。
  • -v  执行时显示详细的信息。
  • -x  不要汇出模块的外部符号。
  • -X  汇出模块所有的外部符号,此为预设置。

insmod使用方法如下:insmod 某路径/xxx.ko。

insmod测试

modprobe命令

modprobe会自动加载被依赖的模块,而且加载的模块不需要指定路径,因为modprobe加载的驱动的路径默认是lib/modules/(shell uname -r)/ 下进行寻找的。

modprobe的依赖来源

 modeprobe加载内核模块时依赖于/lib/modules/(shell uname -r)/modules.dep文件,modules.dep文件中列举了modproe可加载的内核文件以及内核文件所依赖的文件。假如一个内核模块位于/lib/modules/(shell uname -r)目录下,但是该模块未添加到modules.dep文件中,也无法通过modeprobe命令加载。那么问题来了,modules.dep文件是如何生成的?modules.dep文件通过depmod生成,如果往/lib/modules/(shell uname -r)目录下放置一个新的内核模块XXX并且希望通过modprobe命令进行加载模块XXX,那么将内核模块XXX放到/lib/modules/(shell uname -r) 目录下后需运行depmod命令,然后再运行modeprobe XXX才能将内核模块加载成功,否则会报错: modeprobe XXX not found。

语法

modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]

参数

  • -a或--all  载入全部的模块。
  • -c或--show-conf  显示所有模块的设置信息。
  • -d或--debug  使用排错模式。
  • -l或--list  显示可用的模块。
  • -r或--remove  模块闲置不用时,即自动卸载模块。
  • -t或--type  指定模块类型。
  • -v或--verbose  执行时显示详细的信息。
  • -V或--version  显示版本信息。
  • -help  显示帮助。

modprobe测试

1.没有使用depmod生成modules.dep,而且驱动不是在/lib/modules/(shell uname -r) 目录下

 2.将驱动拷贝到/lib/modules/(shell uname -r) 目录下,执行depmod生成modules.dep,即可通过modprobe加载驱动以及依赖的驱动

depmod命令

depmod(depend module)可检测模块的相依性,生成modules.dep文件,方便modprobe在安装模块时可以找到依赖去加载依赖的模块使用。

语法:

depmod [-adeisvV][-m <文件>][--help][模块名称]

参数说明

  • -a或--all  分析所有可用的模块。
  • -d或debug  执行排错模式。
  • -e  输出无法参照的符号。
  • -i  不检查符号表的版本。
  • -m<文件>或system-map<文件>  使用指定的符号表文件。
  • -s或--system-log  在系统记录中记录错误。
  • -v或--verbose  执行时显示详细的信息。
  • -V或--version  显示版本信息。
  • --help  显示帮助

rmmod

用于从linux内核中卸载已加载的内核模块 

语法

rmmod [选项] 模块名
 

 参数说明

  • -f  强制卸载模块,即使模块正在被其他进程使用
  • -v  显示详细信息,包括卸载过程中的日志
  • -w 等待直到模块不再被使用,然后卸载

rmmod测试例子

modinfo

Linux modinfo命令用于显示kernel模块的信息。modinfo会显示kernel模块的对象文件,以显示该模块的相关信息,参数以及说明等等。

语法

modinfo [-adhpV][模块文件]

参数

  • -a或--author  显示模块开发人员。
  • -d或--description  显示模块的说明。
  • -h或--help  显示modinfo的参数使用方法。
  • -p或--parameters  显示模块所支持的参数。
  • -V或--version  显示版本信息。

modinfo测试例子

lsmod

Linux lsmod(英文全拼:list modules)命令用于显示已载入系统的模块。

参考:

insmod & depmod & modprobe的区别及用法_modeprobe-CSDN博客

Linux depmod命令教程:深入理解depmod命令及其应用(附实例详解和注意事项)_depmod 怎么使用-CSDN博客 Linux depmod命令 | 菜鸟教程 (runoob.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序如何跳转微信公众号

1. 微信小程序如何跳转微信公众号 1.2. 微信公众号配置 登录微信公众号&#xff0c;点击【小程序管理】&#xff1a;   点击【添加】&#xff1a;   点击【关联小程序】&#xff1a;   输入小程序进行关联&#xff1a; 1.2. 微信小程序配置 登录微信小程序&#xf…

HTTP的由来以及发展史

HTML&HTML5的学习探索 01、Html的由来和发展史 01-01、Html的由来 HTML的英文全称是 Hypertext Marked Language&#xff0c;即超文本标记语言。HTML是由Web的发明者 Tim Berners-Lee&#xff08;蒂姆伯纳斯李&#xff09;于1990年创立的一种标记语言&#xff0c; 他是万…

返回枚举类给前端

1. 前言 在实际开发过程中&#xff0c;前端的下拉框或者单选按钮的内容通常的需要和后端匹配的&#xff0c;故一般会由后端将下拉框的内容或单选框的内容传给前端&#xff0c;而这些内容在后端一般是由枚举类存储的&#xff0c;如果后端直接返回枚举类&#xff0c;返回结果将会…

K-means聚类算法详细介绍

目录 &#x1f349;简介 &#x1f348;K-means聚类模型详解 &#x1f348;K-means聚类的基本原理 &#x1f348;K-means聚类的算法步骤 &#x1f348;K-means聚类的优缺点 &#x1f34d;优点 &#x1f34d;缺点 &#x1f348;K-means聚类的应用场景 &#x1f348;K-mea…

SQL Server2019安装步骤教程(图文)_最新教程

一、下载SQL Server2019 1.到微软官网下载SQL Server Developer版本&#xff0c;官网当前的2019版本下载需要注册账号。 不想注册的朋友&#xff0c;可以选择从网盘下载&#xff1a;点击此处直接下载 2.下载之后先解压&#xff0c;解压后执行exe安装程序。打开之后的界面如下…

学 Java 具体能干什么?

学习 Java 后&#xff0c;你可以从事许多不同的工作和项目&#xff0c;涵盖了广泛的应用领域。以下是一些具体的应用场景和工作方向&#xff1a; 1. 企业级应用开发 Java 是企业级应用开发的首选语言之一&#xff0c;特别适合开发大规模、分布式、多层次的企业应用程序。 Jav…

ai - RAG

RAG & web <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ChatGPT 应用页面</title><…

1960-2022年世界银行WDI面板数据(1400+指标)

1960-2022年世界银行WDI面板数据&#xff08;1400指标&#xff09; 1、时间&#xff1a;1960-2022年 2、来源&#xff1a;世界银行WDI 指标&#xff1a;包括健康、公共部门、农业与农村发展、城市发展、基础设施、外债、性别、援助效率、教育、气候变化、环境、社会保护与劳…

【Python从入门到进阶】55、使用Python轻松操作Mysql数据库

一、引言 1、MySQL数据库简介 MySQL是一个开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它使用了一种名为Structured Query Language&#xff08;SQL&#xff09;的查询语言来管理数据。MySQL因其高性能、可扩展性、易用性和稳定性而广受欢迎&#x…

ARM+FPGA+NVIDIA AI摄像头软硬件定制

拥有资深ISP图像技术团队&#xff0c;是英伟达、地平线等合作伙伴&#xff0c;我们的团队掌握目前市面上大部分车载平台的ISP图像画质服务能力&#xff0c;能自主开发图像ISP和增强算法。我们具有多名经验丰富光学设计专家&#xff0c;掌握车载模组光学设计能力&#xff0c;资深…

入门五(项目介绍及登录需求)

软件缺陷判定标准 项目中缺陷的管理流程 使用Excel对于缺陷进行管理 使用工具管理缺陷 一、项目背景 传智作为一个IT教育机构&#xff0c;拥有自己开发且实际运营的产品&#xff1b; 将开发和运营的技术作为授课的内容&#xff0c;对于学员而言学到的都是一手的真实案例和…

类的继承和方法重载

想象一下&#xff0c;有一个相亲想爱的一家人家族树。在这个家族树中&#xff0c;有一个祖先&#xff08;父类&#xff09;&#xff0c;它拥有一些基本的特征和行为&#xff0c;比如家族的传统、姓氏、某些共同的技能或知识。 现在&#xff0c;这个祖先有多个后代&#xff08;…

vivado 设计连接性

设计连接性 IP集成商提供设计师协助&#xff0c;帮助您完成连接过程 设计。图3显示了MHS的一个示例&#xff0c;图4显示了设计帮助 可在IP集成商中获得 地址映射 在XPS中&#xff0c;无论主机访问从机IP&#xff0c;每个从机都有相同的地址。IP integrator为基于master的寻址提…

【C++课程学习】:命名空间的理解(图文详解)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;C课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f4f7;1.命名冲突 &#x1f4f7;2.重定义 &#x1f4f7;3.命名空间 &#x1f37a;命名空间可…

Leetcode刷题笔记3

18. 四数之和 18. 四数之和 - 力扣&#xff08;LeetCode&#xff09; 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&…

解决Element组件el-switch在Vue中值的绑定与回显问题

概要 Switch 开关表示两种相互对立的状态间的切换,多用于触发「开/关」。可当一个布尔值进行使用。 问题描述与解决 引入Element组件的switch到Vue中,可以读取switch的值,但如果放在页面中,不能回显上去。 如上图,无论值是"否"还是“是”。都不能正确渲染到页…

vue-officef实现pdf文件在线预览

一、参考网址 https://www.cnblogs.com/guozhiqiang/p/17957288 1、引入依赖 npm install vue-office/pdf vue-demi2、编写组件 <template><vue-office-pdf :src"pdf"/> </template> <script> // import pdf from vue-pdf import VueOffice…

基于长短期记忆网络 LSTM 的送餐时间预测

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

实战13:lstm bp 机器学习随机森林粮食产量预测-完整代码数据

直接看视频: lstm bp 机器学习随机森林粮食产量预测-完整代码数据_哔哩哔哩_bilibili 看数据: 代码: from sklearn.linear_model import LinearRegression from sklearn import preprocessing import random from sklearn.model_selection import train_test_split from…

postgresql|数据库|闪回插件e-maj的部署和使用

前言&#xff1a; E-Maj 是 PostgreSQL 数据库的一个扩展插件&#xff0c;它的全称为 "Elementary Majordomo"。这个扩展的主要功能是为数据库中的表集提供细粒度的写入日志记录和时间旅行能力。这意味着使用 E-Maj 的用户可以在数据库的特定子集上实现事务的回滚&a…