Linux insmod 命令学习
Posted bcbobo21cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux insmod 命令学习相关的知识,希望对你有一定的参考价值。
Linux insmod(英文全拼:install module)命令用于载入模块。
Linux有许多功能是通过模块的方式,在需要时才载入kernel。
这类可载入的模块,通常是设备驱动程序。
语法
insmod [-fkmpsvxX][-o <模块名称>][模块文件][符号名称 = 符号值]
参数说明:
-f 不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入。
-k 将模块设置为自动卸除。
-m 输出模块的载入信息。
-o<模块名称> 指定模块的名称,可使用模块文件的文件名。
-p 测试模块是否能正确地载入kernel。
-s 将所有信息记录在系统记录文件中。
-v 执行时显示详细的信息。
-x 不要汇出模块的外部符号。
-X 汇出模块所有的外部符号,此为预设置。
加载模块
# insmod led.o
下载一个看上去是编译好的Linux驱动程序,如下图;来试一下;
先列出模块看一下;如果加载了,再列出模块看一下,
使用 insmod 命令加载;权限不够;
在命令前加sudo,再运行;提示 无效的模块格式;
重新又找一个看上去是编译好的Linux驱动程序;
再加载,还是无效的模块格式;
再做一次,也是一样;也许下载的东西不对;也许不同Linux系统有所区别;
根据资料,内核无法加载模块的原因是因为模块中记载版本号的字符串和当前正在运行的内核模块的不一样,
可以用 modinfo 命令查看模块的信息;看样子只有自己编写编译的才能加载了;
以上是关于Linux insmod 命令学习的主要内容,如果未能解决你的问题,请参考以下文章
linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明
Linux设备驱动程序加载/卸载方法 insmod和modprobe命令