使用KVM加速在ARM上运行qemu

时间:2014-12-02 12:05:45

标签: arm virtualization qemu kvm

我试图通过qemu在ARM主机cubieboard2嵌入式主板上模拟ARM VM。我已从源代码编译qemu并启用kvm。现在的问题是按如下方式启动qemu-system-arm

$ /usr/local/bin/qemu-system-arm -M accel=kvm -cpu host -kernel vmlinuz-3.2.0-4-vexpress -initrd initrd.img-3.2.0-4-vexpress -sd debian_wheezy-_armhf_standard.qcow2 -append "console=ttyAMA0 root=/dev/mmcblk0p2" -nographic

我有这个错误:

qemu-system-arm: -M accel=kvm: Unsupported machine type
Use -machine help to list supported machines!

我输入的命令有什么问题。如何启用kvm

2 个答案:

答案 0 :(得分:1)

-M采用机器名称(例如" vexpress-a15"或" virt"),而不是一组suboption = value设置。你想要-machine suboption = value,...为此。

(" -M name"是" -machine type = name"的快捷方式。)

您还需要通过-machine type = name或-M name指定机器名称,否则QEMU会抱怨您没有指定机器名称。

答案 1 :(得分:0)

阅读本文怎么样:

https://groups.google.com/forum/#!topic/cubieboard/4EGONZMoIAU

是的,你是对的,因为Cubieboard2有A15,HYP管理程序已经实现,KVM应该在其中运行。

有关HYP模式的更多信息,请点击此处:

http://lwn.net/Articles/557132/

还有另一种方法可以看到失败模式(为什么qemu命令失败):在" strace"下执行你的命令,你将能够清楚地看到/ dev / kvm何时打开,以及如果成功,则在调用open(" / dev / kvm")后将返回非零fd。在此之前 - " lsmod"应该返回一行表示" kvm.ko"内核模块正在运行,如果你可以读取内核的配置文件,那么应该有一个" CONFIG_KVM"嵌入其中。