You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
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.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。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|