我是内核开发的新手,我想知道如何使用 QEMU 和 gdb 运行/调试 linux 内核。我实际上正在阅读 Robert Love 的书,但不幸的是它并不能帮助读者了解如何安装适当的工具来运行或调试内核......所以我所做的就是遵循本教程http://opensourceforu.efytimes.com /2011/02/kernel-development-debugging-using-eclipse/。我使用 eclipse 作为 IDE 在内核上开发,但我想首先让它在 QEMU/gdb 下工作。所以到目前为止我所做的是:
1)编译内核:
make defconfig (then setting the CONFIG_DEBUG_INFO=y in the .config)
make -j4
2) 编译结束后,我使用以下命令运行 Qemu:
qemu-system-x86_64 -s -S /dev/zero -kernel /arch/x86/boot/bzImage
它以“停止”状态启动内核
3)因此我必须使用gdb,我尝试以下命令:
gdb ./vmlinux
它运行正确但是...现在我不知道该怎么办...我知道我必须在端口 1234(Qemu 使用的默认端口)上使用远程调试,使用 vmlinux 作为符号表文件调试。
所以我的问题是:我应该怎么做才能在 Qemu 上运行内核,将我的调试器附加到它上面,从而让它们一起工作,让我的内核开发工作更轻松。