正常情况可以根据kernel-debuginfo的rpm包安装vmlinux到 /usr/lib/debug/lib/modules/`uname -r`/vmlinux
如果某些情况下无法安装,可以使用该工具生成。
另外可以根据kernel源码中的scripts/extract-vmlinux生成vmlinux 但是需要安装/usr/src/kernels/编译源码
Linux二进制分析的作者Ryan O'Neill写了个根据/boot/目录下 vmlinuz和System.map生成vmlinux的开源工具:
https://github.com/elfmaster/kdress
用法:
./kdress vmlinuz-`uname -r` vmlinux /boot/System.map-`uname -r`
kdress一个python2的脚本,有比较老了。核心原理是根据vmlinuz生成vmlinux,然后根据vmlinux和system.map生成vmlinux
但是可能无法使用