linux 分析可载入模块的相依性 命令:depmod

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

 

语法

depmod (选项)

 

选项

-a或--all:分析所有可用的模块;

-d或debug:执行排错模式;

-e:输出无法参照的符号;

-i:不检查符号表的版本;

-m<文件>或system-map<文件>:使用指定的符号表文件;

-s或--system-log:在系统记录中记录错误;

-v或--verbose:执行时显示详细的信息;

-V或--version:显示版本信息;

--help:显示帮助。

 

实例

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是我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。

付杰
  • ¥ 49.0元
  • 市场价:199.0元
  • ¥ 298.0元
  • 市场价:498.0元
  • ¥ 298.0元
  • 市场价:598.0元
  • ¥ 798.0元
  • 市场价:1298.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: