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.map
是make linux
后生成,我拷贝到此目录的。2.6.18_pro500-bcm91250-mips2_fp_be
是我build
的linux
的版本。
编译 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