我有一个冻结操作系统的设备驱动程序。鼠标甚至不会移动。我正在尝试调试这个问题,我相信一种好的方法是将 gdb 与 qemu 一起使用,这是我以前从未使用过的两件事。有更好的方法吗?
所以首先我需要用我已经完成的调试符号编译内核。
现在,生成了一个名为 vmlinux 的新文件,它与源文件位于同一文件夹中。看来我还需要一个 bzImage 文件, 这样我就可以使用以下命令运行新编译的内核:
qemu-system-i386 -kernel bzImage
或在调试模式
qemu-system-i386 -s -S -kernel bzImage
我找不到 bzImage 文件。我在哪里可以找到它或这里缺少什么?bzImage 是指我使用 qemu-img create 创建的操作系统映像吗?
另外,我不明白的是现在内核已经编译(vmlinux)我如何用qemu运行它?所以我的问题是,当我使用 qemu 或调试器运行它时,内核是否在我的主操作系统中作为应用程序运行?
还有如何安装我的设备驱动程序?我的理解内核不是Ubuntu所以没有UI?
另外,我安装了 qemu,当我输入 qemu 时,找不到命令。我猜我必须选择一个特定的处理器模拟器,如 qemu-system-i386、qemu-system-x86_64 或 qemu-x86_64?
qemu 与 kvm 命令有何不同或相似之处?
谢谢。