LINUX下可加载模块的几个工具
2013-08-03 15:35
369 查看
当我们在make menuconfig把一些源码文件以<M>作为编译控制项时,表示不编译内核,而是以模块(.ko)存在.此时,要生成.ko模块文件,需要借助下面的命令:
上述命令帮助我们生成目标内核的.ko模块文件.如果需要安装.ko文件,则需要借助下面的命令:
当然,上述一般在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文件系统驱动程序:
lsmod一下,发现modprobe加载的是三个而不是一个模块.modprobe首先发现它不得不加载/lib/modules/X.Y.Z/kernel/fs/vfat/vfat.ko,当查看/lib/modules/X.Y.Z/modules.dep模块依赖文件的时候,它发现了如下代码并由此意识到自己必须首先加载另外2个模块:
于是它先加载了fat.ko和nls_base.ko这2个模块,之后加载vfat.ko,这样,所有挂载VFAT分区时所需要的模块都被自动加载了.
5.modinfo:
提取刚加载的模块的信息:
6.depmod
创建模块依赖关系的列表.常用选项如下:
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)
相关文章推荐
- 推荐几个Linux命令行下性能监控小工具
- Linux设备驱动模块自加载示例与原理解析
- Linux开机自动加载模块
- 分享几个前端工具--制作加载中小图标
- Linux如何在系统启动时自动加载模块
- Linux启动过程中硬件模块的加载
- Linux如何在系统启动时自动加载内核模块
- 一只简单的网络爬虫(基于linux C/C++)————支持动态模块加载
- 【原创】Linux驱动入门之以模块方式加载驱动
- linux模块加载出现有关问题,printk打印信息,终端里看不到
- 让LINUX核心模块加载Windows下驱动
- linux启动时对编译进内核驱动模块的加载
- Linux如何在系统启动时自动加载模块
- 要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...
- Linux可加载内核模块(LKM)
- webpack前端模块加载工具
- Linux如何在系统启动时自动加载模块 .
- linux modprobe命令参数及用法详解--linux加载模块命令
- Linux下Breakpad的几个主要工具
- Linux驱动入门——几个简单的Linux 模块