Linux内核模块的位置

use*_*879 9 linux linux-kernel

有没有utiliy,显示我加载的模块的位置.

bdo*_*lan 19

如果您想知道内核虚拟地址空间中模块的基本内存地址,可以将其作为最后一个字段/proc/modules; 搜索有问题的模块:

$ grep '^ext3' /proc/modules
ext3 125513 1 - Live 0xf88ce000
Run Code Online (Sandbox Code Playgroud)

如果您想知道从中加载的文件路径,原始路径实际上并未存储在任何位置,但您可以要求modprobe再次搜索模块并使用modprobe -l以下方式显示路径:

$ /sbin/modprobe -l ext3
/lib/modules/2.6.18-194.el5PAE/kernel/fs/ext3/ext3.ko
Run Code Online (Sandbox Code Playgroud)

假设您在中间时间内没有更改模块搜索路径中的任何内容,则应该为您提供原始加载路径.

编辑:截至2015年,信息不正确(不仅ext4不作为内核模块存在).获取有关模块的信息,包括图像的路径:

modinfo floppy

  • 只需注意:Ubuntu 11.04上的`cat/proc/modules`为所有模块提供`Live 0x00000000`; 但是`sudo cat/proc/modules`确实显示了实际的地址. (3认同)

Ign*_*ams 5

不会。加载模块时不会保留此信息。