zoukankan      html  css  js  c++  java
  • 编译linux内核以及depmod的使用

    转载:http://blog.lmtw.com/b/18215/archives/2010/71074.html

    depmod(depend module)

    功能说明:分析可载入模块的相依性。

    语  法:

           depmod [-b basedir]  [-e]  [-F System.map]  [-n]  [-v]  [version]  [-A]

           depmod [-e]  [-FSystem.map]  [-n]  [-v]  [version]  [filename ...]


    补充说明:depmod可检测模块的相依性,供modprobe在安装模块时使用。

    参  数:
     -a或--all  分析所有可用的模块。 

       -b              如果你的模块不是在默认路径(/lib/modules/version)下,你可以用这个选项指定所在的目录。在构建嵌入式系统中会用到。

       -e             当与-F同时使用时,用以报告unresolved symbols错误

       -F             后跟System.map 

       -v              打印过程信息

       -A             快速操作

       --help  显示帮助。

     

    在构建嵌入式系统时,需要由这个命令来生成相应的文件,由modprobe使用。

    例子:

    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。

  • 相关阅读:
    第1关:逆序输出数组元素
    Ubuntu配置java环境安装JDK8
    Ubuntu18安装Tomcat服务
    Windows+ubuntu1803双系统安装
    问题 F: 水仙花数(C#)
    问题 A: C#异或运算符的使用
    hdu 2642 Stars 【二维树状数组】
    poj 2352 stars 【树状数组】
    hdu 1698 Just a Hook 【线段树+lazy】
    线段树【单点更新,区间更新,区间查询,最值查询】
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3633967.html
Copyright © 2011-2022 走看看