2012-07-27 46 views
1

我正在为Pintos项目工作。当我正在实施适当优先级调度的优先级捐赠机制时,QEMU模拟器刚挂断(我附上了一张图片,而图片的转储如下)。我尝试调试并插入printf语句,但在通过远程主机调试qemu期间,一旦进入main,它就会再次挂起。任何人都可以告诉我如何解决这一切。否则,我将不得不重新安装整个代码和qemu以及其间的所有内容。Qemu挂在主系统调用

从pintos转储:

[email protected]:~/projects/os_projects/pintos/src$ pintos --gdb -- run alarm-zero 
qemu -hda /tmp/IbpgyXzQhW.dsk -m 4 -net none -serial stdio -s -S 
open /dev/kvm: No such file or directory 
Could not initialize KVM, will disable KVM support 
PiLo hda1 
Loading......... 
Kernel command line: run alarm-zero 
made it till here 

Pintos emulated on QEMU Pintos在QEMU仿真

回答

4

我觉得要么你没有正确的内核版本或您的硬件不支持虚拟化技术,可以既

lsmod | grep kvm
看到,如果模块KVM和kvm_intel加载
如果没有的话用modprobe kvm kvm_intel加载模块。 如果这些模块无法加载,那么可能您的机器无法支持KVM,如果您输出的内容包含vmx或svx,则可以通过grep --color vmx /proc/cpuinfo找到这个模块,那么支持硬件虚拟化,并且您需要正确的内核版本.Linux开始为该版本提供KVM支持2.6.36.4。通过编译新内核,我猜你不会面临这个问题。如果问题是你的机器能够虚拟化,但内核不支持。关于如何安装机器,请参见link。请参阅实验室和工具链接。查看课程列表并搜索实验室和工具,你会发现很多关于如何设置QEMU,BOCHS,启动虚拟机等的东西。
你也可以尝试使用bochs,我假设你正在做pintos作为您的操作系统课程的一部分。因此可以通过设置--EMULATOR=bochs(类似于th的操作)来更改要在命令行中使用的模拟器at)
虽然你的虚拟机会慢一点,但是你不会遇到KVM支持不可用的问题。

干杯:)