insmod lsmod rmmod

insmod(install module)

功能说明:载入模块 install loadable kernel module

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

参数:

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

使用说明:Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序。

insmod命令主要用于在Linux 2.4内核之前加载Linux内核模块命令。对于通过此命令加载的Linux内核模块,系统不仅不会自动解决内核模块之间的依赖关系,而且还要求将模块路径写详细。所以在Linux 2.6内核出现时,此命令已渐渐被遗忘。

加载RAID1阵列级别模块,如下所示:

[[email protected] boot]# insmod /lib/modules/2.6.

18-8.el5/kernel/drivers/md/raid1.ko

[[email protected] boot]# lsmod |grep raid1

raid1                  25153  0

从以上显示结果可知,RAID1模块已加载成功。只是在使用insmod命令加载模块时,需要使用绝对路径方能加载,且加载时无法自动解决依赖关系。

扩展阅读:insmod 和modprobe的区别

insmod 与 modprobe 都是载入 kernel module,不过一般差别于 modprobe 能够处理 module 载入的相依问题。
比方你要载入 a module,但是 a module 要求系统先载入 b module 时,直接用 insmod 挂入通常都会出现错误讯息,不过 modprobe 倒是能够知道先载入 b module  后才载入 a module,如此相依性就会满足。
不过 modprobe 并不是大神,不会厉害到知道 module 之间的相依性为何,该程式是读取 /lib/modules/2.6.xx/modules.dep 档案得知相依性的。而该档案是透过 depmod 程式所建立。

参考资料:http://www.linuxso.com/command/insmod.html

lsmod

  Linux命令:lsmod——显示已载入系统的模块

  lsmod 其实就是list modules的缩写,即 列出所有模块.

  功能说明:显示已载入系统的模块。

  语法:lsmod

  说明:执行lsmod指令,会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,因此在编译核心时,无需把全部的功能都放入核心。你可以将这些功能编译成一个个单独的模块,待需要时再分别载入。

rmmod(remove module)

功能说明:删除模块。

语  法:rmmod [-as][模块名称...]

补充说明:执行rmmod指令,可删除无需的模块。Linux操作系统的核心具备模块化的特性,应此在编译核心时,务须把全部的功能都放如核心。您能够将这些功能编译成一个个单独的模块,待有需要时再分别载入他们。

参  数:
-a  删除任何现在无需的模块。 
-s  把信息输出至syslog常驻服务,而非终端机界面。

时间: 2024-11-01 17:36:29

insmod lsmod rmmod的相关文章

#26 Linux kernel(内核)详解与uname、lsmod、modinfo、depmod、insmod、rmmod、modprobe...命令用法

Linux kernel: 内核设计流派: 单内核设计,但是充分借鉴了微内核体系设计的优点,为内核引入了模块化机制,内核高度模块化: 内核被模块化之后,一些最为基本最为重要的内容,被编译到内核核心:而其他更多的功能则以模块的方式来提供:而且支持动态装载和卸载各内核模块: 内核的组成部分: kernel:内核核心文件,一般为bzimage,经过压缩处理的镜像文件:通常内核核心文件保存在/boot/目录下,名称为vmlinuz-version-release kernel object(ko):内核

专题10-字符设备驱动模型

一.编译安装字符设备驱动模块1.要有Makefileobj-m := memdev.oKDIR := /ok6410/linux-3.10all:     make -C $(KDIR)M=(PWD) modules CROSS_COMPILE=arm-linux- ARCH=armclean:    rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.bak *.order2.要有合适的驱动文件3.insmod lsmod rmmod命令使用.二.安装字符设备

内核与内核模块:depmod,lsmod,modinfo,insmod,rmmod,mdprobe

首先,我们得知道内核与内核模块放在哪里. 内核:/boot/vmlinuz或/boot/vmlinuz-version; 内核解压缩所需RAMDisk:/boot/initrd(/boot/initrd-version); 内核模块:/lib/modules/version/kernel或/lib/modules/$(uname -r)/kernel; 内核源码:/usr/src/linux 或 /usr/src/kernels; 如果内核顺利被加载了,会有以下几个信息记录: 内核版本:/pro

Linux-insmod/rmmod/lsmod驱动模块相关命令(10)

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

First insmod a module

不得不说网上坑爹的文章比虱子还多,参考这位仁兄调试成功 喜欢C的人却靠着Java产业吃饭,人艰不拆... 对于未知的东西,有个习惯,run success first,then research environment [[email protected] etc]# uname -aLinux vohst 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [[emai

linux-裁剪Linux功能,编译/bin/login, busybox编译linux

linux功能:终端提示信息 [[email protected] ~]# cat /etc/issueRed Hat Enterprise Linux Server release 5.8 (Tikanga)Kernel \r on an \m [[email protected] ~]# uname -r2.6.18-308.el5[[email protected] ~]# uname -mx86_64[[email protected] ~]# linux功能:用户 nsswitch:

Linux常用命令介绍

Linux常用命令示例: 在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数"--help"或者用"man 命令"可以取得命令的详细用法. (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的"Tab"键补全文件名的后面部分,若输入的字符是多个文件名的起

Linux kernel模块管理相关详解

一.Linux内核模块化设计 1.Linux内核设计:单内核.模块化(动态装载和卸载) (1 )Linux:单内核设计,但充分借鉴了微内核体系的设计的优点:为内核引入了模块化机制: (2) 内核的组成部分: kernel:内核核心,一般为bzImage格式,通常位于/boot目录,名称为vmlinuz-VERSION-release: 当系统启动之后该文件就不在使用,因为已经加载到内存,放置/boot下方便管理 kernel object:内核模块,一般放置于/lib/modules/VERSI

解析 Linux 内核可装载模块的版本检查机制

转自:http://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/ 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性.内核可装载模块就是可在内核运行时加载到内核的一组代码.通常 , 我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(Patch Level)版本上.这是因为内核在引入可装载模块的同时,对模块采取了版本信息校验.这是一个与模块代码无关,却与内核相连的机制.该校验机