一、实验三
跟踪分析 Linux 内核的启动过程:
cd ~/LinuxKernel/
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img
qemu是一款开源虚拟机监控程序,它允许你模拟不同的硬件架构和在其中运行操作系统
该指令的作用是使用指定的 Linux 内核映像文件bzImage,并加载一个初始 RAM 磁盘文件 rootfs.img,从而在虚拟机中运行 Linux 操作系统
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S
使用 QEMU 启动 Linux 内核并执行调试会话的扩展版本
-s:启用 GDB 调试服务器模式,以便连接调试器。
-S:在启动时暂停虚拟机,等待调试器连接。
这个命令的主要目的是在启动虚拟机时,启用 GDB 调试支持。一旦虚拟机启动并暂停,你可以使用 GDB 连接到虚拟机的调试服务器,然后对内核进行调试和分析。
gdb
# 在gdb界面中targe remote之前加载符号表
(gdb)file linux-3.18.6/vmlinux
# 建立gdb和gdbserver之间的连接,按c 让qemu上的Linux继续运行
(gdb)target remote:1234
# 断点的设置可以在target remote之前,也可以在之后
(gdb)break start_kernel
附:chatGPT辅助学习
1、
2、