+ -
当前位置:首页 → 问答吧 → 如何由 vmlinuz 得到 vmlinux 文件?

如何由 vmlinuz 得到 vmlinux 文件?

时间:2007-09-24

来源:互联网

由于要使用 oprofile 对程序进行内核级 profile,需要指定 vmlinux 文件
但是 boot 文件夹下只有 vmlinuz 文件
我知道 vmlinuz 是用 gzip 压缩的,但是直接用 gzip 解压 vmlinuz 得不到 vmlinux
因为 vmlinuz 本身已经内嵌了 gzip 代码

那么应该如何由 vmlinuz 得到非压缩的 vmlinux 呢?
本机是一个生产机型,不能采取重编译内核的解决方案......

作者: sltk   发布时间: 2007-09-24

这个问题解决了吗?共享一下经验啊!

作者: jadcoon   发布时间: 2009-02-26

从 vmlinuz 得到 vmlinux 基本不太可能.

从生成过程来说, vmlinuz 一般就是 bzImage, 它是通过 setup.bin, vmlinux.bin 等文件组装得到的, 具体过程在 x86 平台请参考 arch/x86/boot/tools/build.c 文件, 大体上就是把两个文件拼在一起, 虽然略有修改. vmlinux.bin 则是通过对 vmlinux 进行 objcopy 操作得到的, 这一步是不可逆的.

所以从 vmlinuz 得到 vmlinux.bin 是办得到的, 但是进一步得到 vmlinux 就不太现实了

作者: remote fish   发布时间: 2009-02-27

我今天重编译生成了vmlinux.bin,也有一个vmlinux,不过这个vmlinux后面没有带版本号,不知道一样不啊!


我用vtune的时候需要在/boot下面搜索vmlinux+版本号,但是该目录下只有"vmlinuz+版本后"
而这样重编译之后所得到的,是所要求的吗?

作者: jadcoon   发布时间: 2009-02-27

make install 的时候会自动重命名的

作者: remote fish   发布时间: 2009-02-27