我是内核开发新手,我想知道如何使用QEMU和gdb运行/调试linux内核.我正在读罗伯特·洛夫的书,但不幸的是,这本书并不能帮助读者安装合适的工具来运行或调试内核...所以我所做的就是遵循这个教程.我使用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,我try 以下命令:
gdb ./vmlinux
正确运行,但是...现在我不知道该怎么办...我知道我必须在端口1234(Qemu使用的默认端口)上使用远程调试,使用vmlinux作为调试的符号表文件.
所以我的问题是:我应该怎么做才能在Qemu上运行内核,将我的调试器连接到它,从而让它们一起工作,让我的内核开发变得更容易.