功能说明:载入模块 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常驻服务,而非终端机界面。