LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 805|回复: 7

请问怎么知道哪些模块编译进了内核?

[复制链接]
发表于 2004-11-12 11:13:15 | 显示全部楼层 |阅读模式
各位高手:
   大家好!   我公司的产品使用的是基于Redhat 7.1的linux,  内核版本2.4.21,由于以前编译2.4.21源代码
被rm掉了, 现在我的任务是通过已经编译使用的内核找出以前编译时的配置信息(比如哪些编译进内核,哪些编译进模块),我搞了一个星期,毫无进展!
乞求各位大侠帮助!!!
发表于 2004-11-12 11:36:31 | 显示全部楼层
就在 /boot下应该有一个config-...文件,
就是上一版的配置信息。
最简单的办法就是


cd /usr/src/linux
cp /boot/config .config
make

这样便有一个与上一版同样配置的内核!
 楼主| 发表于 2004-11-12 11:49:54 | 显示全部楼层

/boot/.config 没有

谢谢楼上的兄弟,
但是没有/boot/.config
因为以前内核是在其他机器上编译的,
而编译内核的那人已经离开了公司,
不知道有大家有没有什么办法从
现有运行的内核查 什么模块编译进了内核,
哪些作为独立模块?
发表于 2004-11-12 13:41:45 | 显示全部楼层
难道只有vmlinuz一个文件吗?
发表于 2004-11-12 17:44:38 | 显示全部楼层
如果幸运的话,这个内核选择了kernel .config support,引导到那个内核,你可以在/proc下找到一个config.gz的文件,vi它就可以看到了。不幸的话你就只有解压后分析内核符号表。
发表于 2004-11-13 08:36:28 | 显示全部楼层
我看除了专门玩内核的都不会选上 kernel .config support ,

还是分析 /proc/kallsyms 内核符号表吧,针对每一个要调查的模块看看里面有没有关键的符号。
发表于 2004-11-13 21:43:02 | 显示全部楼层
在/lib/module/<内核版本号>/是所有模块存放点
发表于 2004-11-14 02:39:41 | 显示全部楼层
最初由 zxb 发表
在/lib/module/<内核版本号>/是所有模块存放点


不是说的这么简单吧?
我猜他想说的有些可以 M 方式编译的模块被以 Y 方式编译了,
在 /lib/modules/$(uname -r)/kernel 中当然没有任何痕迹了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表