Linux中进行模块操作的命令

Linux中进行模块操作的命令

Linux是基于模块的,所有的驱动都是模块化的:管理模块的命令:1、列出系统中所有已经加载的模块的大小与名称等:lsmod或者cat/proc /modules

ty@tonylinux:~$lsmodModuleSizeUsedbyrfcomm402160l2cap262445rfcommbluetooth500204rfcomm,l2capppdev92200radeon1160001……..ty@tonylinux:~$cat/proc/modulesrfcomm402160-Live0xf8dee000l2cap262445rfcomm,Live0xf8DB2000bluetooth500204rfcomm,l2cap,Live0xf8dc2000ppdev92200-Live0xf8d88000………

2、modinfo查看模块信息:modinfo可以查看模块的信息,通过查看模块信息来判定这个模块的用途。

ty@tonylinux:~$modinfobluetoothfilename:/lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.koauthor:MaximKrasnyansky<maxk@qualcomm.com>,MarcelHoltmann<marcel@holtmann.org>description:BluetoothCorever2.8version:2.8license:GPLalias:net-pf-31vermagic:2.6.15-27-386preempt486gcc-4.0depends:srcversion:7EE5558C84FD3DB2B68971C http://www.mscto.com

3、modprobe挂载新模块以及新模块相依赖的模块modprobe我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;这是于insmod挂载模块有区别的地方。当然modprobe也有列出内核所有模块,还有移除模块的功能;下在我们举个例子说一说咱们常用的功能和参数;

modprobe-codprobe-c可以查看modules的配置文件,比如模块的别名是什么等;

modprobe -l 是列出内核中所有的模块,包括已挂载和未挂载的;通过modprobe-l,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;

[root@localhostbeinan]#modprobe 模块名 注:挂载一个模块;
[root@localhostbeinan]#modprobe-r 模块名 注:移除已加载的模块,和rmmod功能相同;

4、rmmod移除已挂载模块rmmod模块名

5、depmod创建模块依赖关系的列表这个模块管理工具是创建模块依赖关系的列表,有几个参数我们注意一下就行了,目前的的Linux发行版所用的内核是2.6x版本,是自动解决依赖关系,所以这个命令知道就行了;

模块之前也有依赖关系,比如我们想驱动USB移动硬盘,目前有两种驱动,一种是udev,在内核中有,但目前不太稳定;另一种办法是用usb- storage驱动,而usb-storage依赖的模块是scsi模块,所以我们要用usb-storage的模块,也得把scsi安装该命令为 modules.dep文件或映射文件创建依赖关系,modules.dep文件位于/lib/modules/2.6.15-27-i386;这是我的电脑的目录文件。

6、insmod挂载模块insmod 这个工具,和modprobe有点类似,但功能上没有modprobe强,modprobe在挂载模块是不用指定模块文件的路径,也不用带文件的后缀.o 或.ko;而insmod需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的(modulefile.o或 modulesfile.ko);

[root@localhostbeinan]#insmod/lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko

模块的配置文件modules.conf或modprobe.conf 内核模块的开机自动挂载模块一般是位于一个配置文件,一般的Linux发行版本都有/etc/modules.conf或/etc /modprobe.conf。

(Ubuntu下的模块配置文件是/etc/modules,其内容是:

# /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.

lp

比如FedoraCore4.0内核模块开机自动加载文件是/etc/modprobe.conf;在这个文件中,一般是写入模块的加载命令或模块的别名的定义等;

比如我们在modules.conf中可能会发行类似的一行;通过源码编译驱动一般是./configure;make;makeinstall,有时程序不提供./configure,我们可以make或 makeinstall,或者执行make;makeinstall;如果不能make install,则需要我们自己复制.o或者.ko文件到/lib /modules/内核版本/kernel/目录或/lib/modules/内核版本/kernel/drivers目录中相应的驱动目录;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110398.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • keras 双向LSTM 简单示例[通俗易懂]

    keras 双向LSTM 简单示例[通俗易懂]importtensorflow.compat.v1astffromkeras.layersimportConvLSTM2D,TimeDistributed,Conv2D,Bidirectionalimportnumpyasnpinputs_np=tf.convert_to_tensor(np.random.random((4,6,256,256,3)).astype(np.float32))#shape=[5,6,10,10,3]conv1=TimeDi.

    2022年6月21日
    37
  • ssm整合RabbitMQ(一)「建议收藏」

    ssm整合RabbitMQ(一)「建议收藏」首先说一下RabbitMQ的配置安装好RabbitMQServer之后访问http://localhost:15672/开始首先在Admintab选项中新建一个vh,这个Name需要在后期的代码配置中用到。之后需要给该VH配置一个权限然后配置交换选择Exchangestab将Exchanges与刚才建立的VH绑定然后命名一个交换名字,这个名字在后期的…

    2022年5月23日
    36
  • mysql navicat 15 激活码生成_通用破解码

    mysql navicat 15 激活码生成_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    48
  • arp命令_arp协议的主要功能是什么

    arp命令_arp协议的主要功能是什么ARP(AddressResolutionProtocol)命令用于显示和修改“地址解析协议(ARP)”缓存中的项目ARP把IP地址解析成LAN硬件使用的媒体访问控制地址。以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包原理某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后就会进行数据传输。如果未找到,则广播A一个A

    2025年8月19日
    5
  • 后台管理系统登录思路「建议收藏」

    后台管理系统登录思路「建议收藏」一般来说我们不管是做后台管理,还是做普通项目,必不可少的其实就是登录。那么登录又是怎么实现的呢?废话不多说,上代码。首先我们把登录接口封装在一个文件里,如果这个接口有必备的参数,我们就得传参,然后在登录页引入调用。其次就是我们在登录页写登录框信息,这时候就需要接收接口必备的参数,那具体怎么接呢?先在data里设置两个放置参数的空数组。然后在登录信息框中外围prop接收,然后在信息框上v-model获取用户信息。在一个就是当我们填完用户信息的时候做什么逻辑:首先就是调用封装好的登录接口,其次在登录成功

    2022年5月8日
    75
  • Spring事务管理[通俗易懂]

    Spring事务管理[通俗易懂]1、Spring的事务管理主要包括3个接口TransactionDefinition:封装事务的隔离级别,超时时间,是否为只读事务和事务的传播规则等事务属性,可通过XML配置具体信息。Platfo

    2022年7月4日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号