lsmod
查看已经安装的模块
lsmod
Module Size Used by
binfmt_misc 20480 1
vmw_vsock_vmci_transport 28672 2
vsock 36864 3 vmw_vsock_vmci_transport
snd_ens1371 28672 2
snd_ac97_codec 131072 1 snd_ens1371
gameport 16384 1 snd_ens1371
ac97_bus 16384 1 snd_ac97_codec
...
modinfo
显示模块信息
modinfo nfs.ko
filename: /home/matt/test/kernel/linux-3.2.0-psp04.06.00.11/fs/nfs/nfs.ko
license: GPL
author: Olaf Kirch <okir@monad.swb.de>
depends: sunrpc,lockd
intree: Y
vermagic: 3.2.0 mod_unload modversions ARMv7 p2v8
parm: cache_getent:Path to the client cache upcall program (string)
parm: cache_getent_timeout:Timeout (in seconds) after which the cache upcall is assumed to have failed (ulong)
parm: enable_ino64:bool
parm: nfs4_disable_idmapping:Turn off NFSv4 idmapping when using 'sec=sys' (bool)
depends 显示出了模块的依赖项
insmod
加载指定位置的模块
insmod /path-to-file/nfs.ko
如果依赖模块没有安装会提示 Unknown symbol...
使用时要指定模块的绝对路径。
rmmod
卸载驱动模块
rmmod <module_name>
注意其中 ”module_name” 是 lsmod 显示的模块名称,而不是对应的 ko 文件名
modprobe
用于挂载内核模块,挂载模块时不用指定模块文件的路径,也不用带文件的后缀。
modprobe nfs
相比 insmod 更智能些,不过限定了 ko 文件的位置。
实例:
modprobe nfs
[ 207.024183] RPC: Registered named UNIX socket transport module.
[ 207.030461] RPC: Registered udp transport module.
[ 207.035397] RPC: Registered tcp transport module.
[ 207.040317] RPC: Registered tcp NFSv4.1 backchannel transport module.
卸载模块:
modprobe -r nfs
modprobe: remove[ 145.687621] RPC: Unregistered named UNIX socket transport module.
'sunrpc': Resou[ 145.694428] RPC: Unregistered udp transport module.
rce temporarily [ 145.700954] RPC: Unregistered tcp transport module.
unavailable
[ 145.707460] RPC: Unregistered tcp NFSv4.1 backchannel transport module.
depmod
用于分析可载入模块的相依性,供 modprobe 在安装模块时使用。
depmod 通过读取 /lib/modules/$(uname -r) 目录下的每一个模块来创建一个记录模块相依性的列表。
|