橘子味的心
标题:Linux shell depmod 命令

Linux shell depmod 命令用于分析可载入模块的相依性。

depmod 命令 可产生模块依赖的映射文件, 在构建嵌入式系统时,需要由这个命令来生成相应的文件,由 modprobe 使用。

depmod 命令语法格式如下

depmod [-adeisvV][-m <文件>][--help][模块名称]

选项

选项 描述
-a
--all
分析所有可用的模块
-d
debug
执行排错模式
-e 输出无法参照的符号
-i 不检查符号表的版本
-m<文件>
--system-map<文件>
使用指定的符号表文件
-s
--system-log
在系统记录中记录错误
-v
--verbose
执行时显示详细的信息
-V
--version
显示版本信息
--help 显示帮助

实例

[yufei@twle.cn shell]$ depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a
  • /home/windsome/EMMA3PF-KernelSource-20080626/install_pos 是我 make mod_install 后,所有模块的存放路径。
  • ./boot/System.mapmake linux 后生成,我拷贝到此目录的。
  • 2.6.18_pro500-bcm91250-mips2_fp_be 是我 buildlinux 的版本。

编译 linux 过程及执行 depmod 的范例:

genkernel.sh (at linux-2.6.18_pro500)
#######
export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
export INSTALL_MOD_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/lib -rf
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/* -rf
cd <linux_src_dir>
make
make modules_install
cp vmlinux System.map /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/ -p
cd /home/windsome/EMMA3PF-KernelSource-20080626/install_pos
depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a

其他用法:

在linux桌面系统中,当你编译了新的驱动,为了能够用 modprobe *** 加载模块, 你需要先将模块拷贝到 /lib/modules /2.6.31-20-generic 目录下,然后运行 sudo depmod -a 将模块信息写入 modules.dep、modules.dep.bin、modules.alias.bin、modules.alias和modules.pcimap 文件中。

例如,我编译了一个新的 wifi 驱动 r8192se_pci.ko,将其拷贝到 /lib/modules/2.6.31-20-generic/wireless 下,然后到 /lib/modules/2.6.31-20-generic 运行 depmod -a ,之后可以在任意目录运行 modprobe r8192se_pci

返回上一级

目录

分类