`
vaqeteart
  • 浏览: 304084 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

depmod

阅读更多
depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A]
depmod [-e] [-F System.map] [-n] [-v] [version] [filename...]

[功能]
功能:分析可加载模块的依赖性,生成modules.dep文件和映射文件。

[描述]
补充说明:depmod可检测模块的相依性,供modprobe在安装模块时使用。
    Linux内核模块可以为其它模块提供提供服务(在代码中使用EXPORT_SYMBOL),这种服务被称作"symbols"。若第二个模块使用了这个symbol,则该模块很明显依赖于第一个模块。这些依赖关系是非常繁杂的。
  
    depmod读取在/lib/modules/version 目录下的所有模块,并检查每个模块导出的symbol和需要的symbol,然后创建一个依赖关系列表。默认地,该列表写入到/lib/moudules /version目录下的modules.dep文件中。若命令中的filename有指定的话,则仅检查这些指定的模块(不是很有用)。

    若命令中提供了version参数,则会使用version所指定的目录生成依赖,而不是当前内核的版本(uname -r 返回的)。
                               
选项:
-a 检查所有模块,如果命令中没有文件名称,这个选项默认是开启的。
    -b basedir  --basedir basedir  若你的模块并没有正确的在/lib/mdules/version下,可以指定目录生成依赖。
    -e  --errsyms  和-F选项一起使用,当一个模块需要的symbol在其它模块里面没有提供时,做出报告。正常情况下,模块没有提供的symbol都在内核中有提供。
    -F  --filesyms System.map 提供一个System.map文件(在内核编译时生成的)许-e选项报告出unresolved symbol。
    -n  --dry_run  将结果modules.dep和各种映射文件输出到标准输出(stdout),而不是写到模块目录下。
    -A --quick  检查是否有模块比modues.dep中的模块新,若没有,则退出不重新生成文件。


[举例]
由于会修改文件,为了防止这个现象,例子使用了-n,不修改文件却写出结果。
*查看usbserial.ko的依赖:
#depmod -n usbserial.ko
输入之后,输出如下:
usbserial.ko:
# pci module         vendor     device     subvendor  subdevice  class      class_mask driver_data
# usb module         match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
# ccw module         match_flags cu_type cu_model dev_type dev_model
# ieee1394 module    match_flags vendor_id model_id specifier_id version
# isapnp module      cardvendor carddevice driver_data vendor     function   ...
# module         matchBits bustype vendor product version evBits keyBits relBits absBits mscBits ledBits sndBits ffBits [swBits] driver_info
# of module          name                 type                 compatible
# serio module       type extra id   proto
# Aliases extracted from modules themselves.
# Aliases for symbols, used by symbol_request().
alias symbol:usb_serial_generic_write_bulk_callback usbserial
alias symbol:ezusb_set_reset usbserial
alias symbol:usb_serial_register usbserial
alias symbol:usb_serial_deregister usbserial
alias symbol:usb_serial_generic_read_bulk_callback usbserial
alias symbol:ezusb_writememory usbserial
alias symbol:usb_serial_probe usbserial
alias symbol:usb_serial_port_softint usbserial
alias symbol:usb_serial_generic_open usbserial
alias symbol:usb_serial_disconnect usbserial

分享到:
评论

相关推荐

    Modultils工具源码分析 depmod.insmod rmmod lsmod

    `Modultils`是一组用于管理Linux内核模块的实用工具,包括`depmod`、`insmod`、`rmmod`和`lsmod`,它们在系统维护和调试中扮演着重要角色。下面我们将对这些工具进行详细的源码分析。 1. **depmod**:依赖关系模块...

    Linux depmod命令用法详解

    Linux depmod命令 Linux depmod命令用于分析可载入模块的相依性。 depmod(depend module)可检测模块的相依性,供modprobe在安装模块时使用。 语法depmod [-adeisvV][-m ][--help][模块名称] 参数说明: -a或–all ...

    depmod命令 生成模块映射文件

    depmod命令可产生模块依赖的映射文件,在构建嵌入式系统时,需要由这个命令来生成相应的文件,depmod命令支持内核版本为“2.5.48”以上,比此版本老的内核使用指令“depmod.old”。 语法格式:depmod [参数] 常用...

    broadcom-wl-kmp-default-6.30.223.271_k5.7.11_1-12.37.x86_64.rpm

    飞行堡垒FX50J无线网卡驱动,安装linux时无法打开wifi时安装使用,已在archlinux 安装中实际使用

    module-init-tools-3.2内核升级必备

    `module-init-tools` 包含了一系列实用程序,如 `depmod`, `insmod`, `rmmod`, `modprobe` 等,它们帮助用户方便地插入、移除和管理内核模块。在内核升级后,这些工具可以帮助系统识别新的内核模块,更新模块依赖...

    i2c-hid_standalone.zip

    r7000在linux下触摸板异常补丁,需要自己编译。 先安装linux-headers,然后make生成i2c-hid.ko文件...sudo depmod 然后修改grub,在GRUB_CMDLINE_LINUX_DEFAULT的最后加上i2c-hid.polling_mode=1,重新生成grub文件,重启

    linux上 STM32 的程序烧写工具,速度很快, 像flymcu,mcuisp

    sudo depmod 注意: 如果还不行, 则可能需要重新编译ch34x.ko 3) 设置板子boot0,boot1从系统存储器(bootloader)启动 4) 使用(需要root权限, 烧写的是bin文件,不是hex文件): sudo ./DownMcu 8000000 ./led.bin #下载到...

    11-Linux内核1

    当一个新的内核模块被添加到系统中时,`depmod` 命令用于更新这个文件,确保所有必要的依赖模块都能正确加载。这有助于避免因缺少依赖而导致的加载失败。`depmod` 可以通过不同的选项运行,如 `-A` 自动查找新模块,...

    CentOS内核升级+KVM编译安装.pdf

    可以使用 `depmod` 命令来更新内核模块,以便使用新内核。 18. 环境变量 PATH 可以使用 `export` 命令来设置环境变量 PATH,以便使用 `/sbin` 目录中的命令。 19. 编译 kvm-kmod 可以使用 `./configure` 命令来...

    cdc-acm.ko.tar.gz

    当你在ARM系统下调试,需要用到USB转串口程序时, 发现找不到设备驱动文件, 你输入了 dmesg查找原因, ... sudo depmod -a 还有这个 modprobe cdc-acm 然后呢,你就可以操作这个了^,^ /dev/ttyACM*

    RTL 8188eu在Centos7下面的驱动源代码

    rtl8188eu_USB_Centos7.tar.gz 官网无法连接,故传到这里,需要2分下载,以奖励自己的辛苦。 ...#depmod -a #modeprobe 8188eu 注: 也可以采用DKMS编译方式,需要安装dkms。详情查看README.md.

    module-init-tools-3.4.tar.gz_module-init-tools

    当有新的内核模块安装或更新后,depmod会分析这些模块并记录它们的依赖关系,方便modprobe使用。 5. **lsmod**:列出当前已加载的内核模块及其占用的内存空间,提供了一个查看系统当前模块状态的窗口。 **使用场景...

    针对2440编译好的RT3070无线网卡linux驱动

    在Linux系统中,这可能涉及到`insmod`或`modprobe`命令来加载模块,或者通过`depmod`命令更新模块依赖。 在实际应用中,用户首先需要确保其S3C2440系统支持动态加载模块,并且拥有必要的权限。然后,将这两个驱动...

    360wifi2代3代 tiny6410开发板驱动文件(可直接使用)

    (4)depmod (5) modprobe mt7601Usta 4、使用友善之臂下的 "无线网络设置" 即可搜索无线网络 5、如果每次想开机后,不想重新载入驱动的话,请使用如下的命令 (1)vi /etc/init.d/rcS (2)在最后增加一行 modprobe ...

    ubuntu安装有线网卡驱动,解决网络图标没了的问题

    4. `sudo depmod -a` 5. `sudo modprobe r8125` 完成以上步骤后,系统应该已经成功安装了新的网卡驱动,网络图标应会重新出现,表明有线网络功能恢复正常。 然而,有时可能会遇到“Exec format error”的错误,这...

    Linux常用指令速查手册

    在安装新模块或更新内核后通常需要运行`depmod`。 11. **exec**: - `exec`用于执行指定的命令,并用它替换当前的shell进程。这意味着当命令执行完毕,shell进程也会结束。 以上这些指令是Linux系统管理员日常...

    内核模块编程与调试介绍

    `depmod`和`modprobe`工具用于处理模块间的依赖关系,确保模块加载的正确顺序。`modprobe`在找不到匹配的模块名字时,会在`/etc/modules.conf`文件中查找别名,从而确定应加载的实际模块。 当内核需要扩展功能而...

    ubuntu-安装有线网卡驱动,解决网络图标不见问题.pdf

    sudo depmod -a sudo modprobe r8125 ``` 完成以上步骤后,重新启动系统,此时应该可以在桌面右上角看到有线网络图标了。 #### 处理重启后的异常情况 如果在后续操作过程中(如重启后),发现有线网络图标再次...

Global site tag (gtag.js) - Google Analytics