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`是一组用于管理Linux内核模块的实用工具,包括`depmod`、`insmod`、`rmmod`和`lsmod`,它们在系统维护和调试中扮演着重要角色。下面我们将对这些工具进行详细的源码分析。 1. **depmod**:依赖关系模块...
Linux depmod命令 Linux depmod命令用于分析可载入模块的相依性。 depmod(depend module)可检测模块的相依性,供modprobe在安装模块时使用。 语法depmod [-adeisvV][-m ][--help][模块名称] 参数说明: -a或–all ...
depmod命令可产生模块依赖的映射文件,在构建嵌入式系统时,需要由这个命令来生成相应的文件,depmod命令支持内核版本为“2.5.48”以上,比此版本老的内核使用指令“depmod.old”。 语法格式:depmod [参数] 常用...
飞行堡垒FX50J无线网卡驱动,安装linux时无法打开wifi时安装使用,已在archlinux 安装中实际使用
`module-init-tools` 包含了一系列实用程序,如 `depmod`, `insmod`, `rmmod`, `modprobe` 等,它们帮助用户方便地插入、移除和管理内核模块。在内核升级后,这些工具可以帮助系统识别新的内核模块,更新模块依赖...
r7000在linux下触摸板异常补丁,需要自己编译。 先安装linux-headers,然后make生成i2c-hid.ko文件...sudo depmod 然后修改grub,在GRUB_CMDLINE_LINUX_DEFAULT的最后加上i2c-hid.polling_mode=1,重新生成grub文件,重启
sudo depmod 注意: 如果还不行, 则可能需要重新编译ch34x.ko 3) 设置板子boot0,boot1从系统存储器(bootloader)启动 4) 使用(需要root权限, 烧写的是bin文件,不是hex文件): sudo ./DownMcu 8000000 ./led.bin #下载到...
当一个新的内核模块被添加到系统中时,`depmod` 命令用于更新这个文件,确保所有必要的依赖模块都能正确加载。这有助于避免因缺少依赖而导致的加载失败。`depmod` 可以通过不同的选项运行,如 `-A` 自动查找新模块,...
可以使用 `depmod` 命令来更新内核模块,以便使用新内核。 18. 环境变量 PATH 可以使用 `export` 命令来设置环境变量 PATH,以便使用 `/sbin` 目录中的命令。 19. 编译 kvm-kmod 可以使用 `./configure` 命令来...
当你在ARM系统下调试,需要用到USB转串口程序时, 发现找不到设备驱动文件, 你输入了 dmesg查找原因, ... sudo depmod -a 还有这个 modprobe cdc-acm 然后呢,你就可以操作这个了^,^ /dev/ttyACM*
rtl8188eu_USB_Centos7.tar.gz 官网无法连接,故传到这里,需要2分下载,以奖励自己的辛苦。 ...#depmod -a #modeprobe 8188eu 注: 也可以采用DKMS编译方式,需要安装dkms。详情查看README.md.
当有新的内核模块安装或更新后,depmod会分析这些模块并记录它们的依赖关系,方便modprobe使用。 5. **lsmod**:列出当前已加载的内核模块及其占用的内存空间,提供了一个查看系统当前模块状态的窗口。 **使用场景...
在Linux系统中,这可能涉及到`insmod`或`modprobe`命令来加载模块,或者通过`depmod`命令更新模块依赖。 在实际应用中,用户首先需要确保其S3C2440系统支持动态加载模块,并且拥有必要的权限。然后,将这两个驱动...
(4)depmod (5) modprobe mt7601Usta 4、使用友善之臂下的 "无线网络设置" 即可搜索无线网络 5、如果每次想开机后,不想重新载入驱动的话,请使用如下的命令 (1)vi /etc/init.d/rcS (2)在最后增加一行 modprobe ...
4. `sudo depmod -a` 5. `sudo modprobe r8125` 完成以上步骤后,系统应该已经成功安装了新的网卡驱动,网络图标应会重新出现,表明有线网络功能恢复正常。 然而,有时可能会遇到“Exec format error”的错误,这...
在安装新模块或更新内核后通常需要运行`depmod`。 11. **exec**: - `exec`用于执行指定的命令,并用它替换当前的shell进程。这意味着当命令执行完毕,shell进程也会结束。 以上这些指令是Linux系统管理员日常...
`depmod`和`modprobe`工具用于处理模块间的依赖关系,确保模块加载的正确顺序。`modprobe`在找不到匹配的模块名字时,会在`/etc/modules.conf`文件中查找别名,从而确定应加载的实际模块。 当内核需要扩展功能而...
sudo depmod -a sudo modprobe r8125 ``` 完成以上步骤后,重新启动系统,此时应该可以在桌面右上角看到有线网络图标了。 #### 处理重启后的异常情况 如果在后续操作过程中(如重启后),发现有线网络图标再次...