一、背景和目的
qemu搭建arm64 linux kernel环境-优快云博客
之前介绍了qemu启动kernel的配置步骤和方法,现在开始我们的调试,这篇文章主要讲解如何单步调试内核,所有的实验还是基于ARM64;
二、环境准备
需要准备host=x86 target = arm64的gdb, 有三种方式:一种是sudo apt install gdb-multiarch;
另外一种是用ARM官网下载交叉编译工具链,其中自带gdb(目前我使用的方式Arm GNU Toolchain Downloads – Arm Developer); 还有一种是下载gdb源码并编译;
不同的方式有些差异,用apt安装的如果ubuntu比较老,可能存在部分特性不支持(比如ARMv8.5的PAC,BTI等,之前用ubuntu18.04就遇到了);
注意:使用ARM 官网gdb的伙伴启动时可能会遇到缺少库和python3.8的报错(依赖libncurses5 ,libncursesw5及python3.8),可以参考下面解决(偷懒可以直接安装gdb-multiarch)


本文详细介绍了如何在QEMU中搭建ARM64架构的Linux内核调试环境,涉及环境准备(包括不同方式安装GDB),以及如何单步调试kernel,特别提到了KASLR对调试的影响和解决方法。最后给出了调整后的qemu启动脚本以确保顺利调试。
最低0.47元/天 解锁文章
2644

被折叠的 条评论
为什么被折叠?



