获取Ubuntu-22.04.1 对应的vmlinux文件

0.前言

🚀write in front🚀

🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

💬本文是我在公司工作接触到 /dev/mem 和 crash 内核调试工具时进行学习搜集到的资料,记录下来作为备忘,也希望能对大家有所帮助。📚

1.引用

Ubuntu的Kdump_ubuntu22 kdump-CSDN博客

https://superuser.com/questions/62575/where-is-vmlinux-on-my-ubuntu-installation

Ubuntu安装上的vmlinux在哪里?_ubuntu 缺少vmlinuz-CSDN博客

如何找到Linux vmlinux文件 - 问答 - 亿速云

2.正文

下载Ubuntu-22.04.1内核对应的带有调试符号信息的vmlinux文件,到如下网站下载

http://ddebs.ubuntu.com/pool/main/l/linux/

在Ubuntu-22.04中运行命令 'uname -r' 确认当前Ubuntu.22.04发行版对应的内核编译版本号

bash 复制代码
chenhaoxu@chenhaoxu-VirtualBox:~$ uname -r
5.15.0-125-generic
chenhaoxu@chenhaoxu-VirtualBox:~$

在网站列表的 '.ddeb' 文件里下载对应的符号表文件,因为我安装的Virtualbox Ubuntu.22.04 虚拟机是64位的系统所以选择'AMD64'指令集的文件。

在Ubunt-22.04里执行 'weget xxxx' 下载对应版本号的 '.ddeb'文件。(注意:一定要确保下载的.ddeb文件和你自己的Ubuntu操作系统的实际内核版本对应的上)。

bash 复制代码
wget http://ddebs.ubuntu.com/pool/main/l/linux/linux-image-unsigned-5.15.0-125-generic-dbgsym_5.15.0-125.135_amd64.ddeb

下载结束后,执行 'sudo dpkg xxx.ddeb'文件安装下载到的Ubuntu.22.04对应的内核调试文件。

这里问了下Chatgpt怎么使用 '.ddeb'文件

安装下载的Ubuntu.22.04对应的内核调试文件 '.ddeb'文件

bash 复制代码
chenhaoxu@chenhaoxu-VirtualBox:/usr/lib/debug$ sudo dpkg -i linux-image-unsigned-5.15.0-125-generic-dbgsym_5.15.0-125.135_amd64.ddeb 

等待命令执行成功

安装成功之后,就在 Ubuntu.22.04系统的 '/usr/lib/debug/boot'目录下的'vmlinux-5.15.0-125-generic'就是当前Ubuntu.22.04发行版本对应的带有调试符号信息的vmlinux文件。在使用 'crash' 工具分析 'vmcore' 文件时,就需要这个带有调试符号信息的vmlinux文件。

bash 复制代码
/usr/lib/debug/boot/vmlinux-5.15.0-125-generic
bash 复制代码
chenhaoxu@chenhaoxu-VirtualBox:/usr/lib/debug/boot$ file vmlinux-5.15.0-125-generic 
vmlinux-5.15.0-125-generic: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=c16e53d723223eb1435bc4c06defb030ae80d1f4, with debug_info, not stripped
chenhaoxu@chenhaoxu-VirtualBox:/usr/lib/debug/boot$
相关推荐
椰汁菠萝20 分钟前
ubuntu下免sudo执行docker
ubuntu·docker·免sudo
BD_Marathon30 分钟前
ubuntu防火墙使用
linux·ubuntu
dessler34 分钟前
Kafka-消费者(Consumer)和消费者组(Consumer Group)
linux·运维·kafka
kfepiza34 分钟前
Debian-10-standard用`networking`服务的`/etc/network/interfaces`配置文件设置多网卡多IPv6
linux·debian
进击的程序汪1 小时前
Linux 启动过程流程图--ARM版
linux·运维·arm开发
紫璨月1 小时前
nginx反向代理的bug
运维·nginx·bug
没有名字的小羊1 小时前
2.安装Docker
运维·docker·容器
xiezhr1 小时前
50 个常用 Docker 命令
运维·docker·容器
deeper_wind1 小时前
MySQL数据库基础(小白的“升级打怪”成长之路)
linux·数据库·mysql
Raners_2 小时前
【Linux】文件权限以及特殊权限(SUID、SGID)
linux·安全