linux depends 工具,LINUX下可加载模块的几个工具

当我们在make menuconfig把一些源码文件以作为编译控制项时,表示不编译内核,而是以模块(.ko)存在.此时,要生成.ko模块文件,需要借助下面的命令:

bash> cd /usr/src/linux-X.Y.Z

bash> make modules

上述命令帮助我们生成目标内核的.ko模块文件.如果需要安装.ko文件,则需要借助下面的命令:

bash>make modules_install

当然,上述一般在PC上才如此智能,如果是在嵌入式平台,一般需要手动加载.

通常与模块(.ko)相关的工具有:insmod、rmmod、lsmod、modprobe、modinfo和depmod.

1.insmod:

常用的模块加载工具.

2.rmmod:

常用的模块卸载工具.

3.lsmod:

罗列当前系统所装载的模块.

4.modprobe:

modprobe是一个比insmod更智能的版本,它先分析/lib/modules/X.Y.Z/modules.dep文件再加载它所依赖的模块.例如要挂载一个USB笔式驱动器上的VFAT(Virtual File Allocation Table,虚拟文件根本表)分区,可以使用modprobe加载VFAT文件系统驱动程序:

bash>modprobe vfat

bash>lsmod

Modle Size Used by

vfat 14208 0

fat 49052 1 vfat

nls_base 9728 2 vfat, fat

lsmod一下,发现modprobe加载的是三个而不是一个模块.modprobe首先发现它不得不加载/lib/modules/X.Y.Z/kernel/fs/vfat/vfat.ko,当查看/lib/modules/X.Y.Z/modules.dep模块依赖文件的时候,它发现了如下代码并由此意识到自己必须首先加载另外2个模块:

/lib/modules/X.Y.Z/kernel/fs/vfat.ko

/lib/modules/X.Y.Z/kernel/fs/fat/fat.ko

/lib/modules/X.Y.Z/kernel/fs/nls/nls_base.ko

于是它先加载了fat.ko和nls_base.ko这2个模块,之后加载vfat.ko,这样,所有挂载VFAT分区时所需要的模块都被自动加载了.

5.modinfo:

提取刚加载的模块的信息:

bash>modinfo vfat

filename: /lib/modules/X.Y.Z/kernel/fs/vfat/vfat.ko

license:GPL

description:VFAT filesystem support

...

depends: fat,nls_base

6.depmod

创建模块依赖关系的列表.常用选项如下:

# depmod -a 注:为所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模块创建依赖关系,并且写入到modules.dep文件;

# depmod -e 注:列出已挂载但不可用的模块;

# depmod -n 注:列出所有模块的依赖关系,但仅仅是输出出来 (Write the dependency file on stdout only)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值