depmod

分析可載入模塊的相依性

補充說明

depmod命令 可產生模塊依賴的映射文件,在構建嵌入式系統時,需要由這個命令來生成相應的文件,由modprobe使用。

語法

1depmod(選項)

選項

1-a或--all:分析所有可用的模塊;
2-d或debug:執行排錯模式;
3-e:輸出無法參照的符號;
4-i:不檢查符號表的版本;
5-m<文件>或system-map<文件>:使用指定的符號表文件;
6-s或--system-log:在系統記錄中記錄錯誤;
7-v或--verbose:執行時顯示詳細的信息;
8-V或--version:顯示版本信息;
9--help:顯示幫助。

實例

1depmod -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的例子:

 1genkernel.sh (at linux-2.6.18_pro500)
 2#######
 3export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
 4export INSTALL_MOD_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
 5rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/lib -rf
 6rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/* -rf
 7cd <linux_src_dir>
 8make
 9make modules_install
10cp vmlinux System.map /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/ -p
11cd /home/windsome/EMMA3PF-KernelSource-20080626/install_pos
12depmod -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。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: