1。 首先,确保主机支持 virtualization:
cat /proc/cpuinfo | grep -E "vmx|svm"
1。配置好 qemu,(加上 enable-kvm):
./configure --target-list=arm-softmmu,mipsel-softmmu --enable-debug --enable-sdl --enable-gtk --enable-kvm
~$ lsmod | grep kvm kvm_intel 132651 0 kvm 388310 1 kvm_intel
同时 /dev/kvm 应该被创建。QEMU里有类似下面的代码:
open("/dev/kvm") ioctl(KVM_CREATE_VM) ioctl(KVM_CREATE_VCPU) for (;;) { ioctl(KVM_RUN) switch (exit_reason) { case KVM_EXIT_IO: /* ... */ case KVM_EXIT_HLT: /* ... */ } }
我第一尝试的时候,看不到 /dev/kvm, lsmod的时候,只看到有 kvm.ko 加载进来。手动加载 kvm_intel.ko的时候,提示
insmod: ERROR: could not insert module ./kernel/arch/x86/kvm/kvm-intel.ko: Operation not supported然后,看一下 dmesg |tail,发现:
[ 1870.982716] kvm: disabled by bios [ 1888.957189] kvm: disabled by bios [ 1906.551801] kvm: disabled by bios [ 1919.617650] has_svm: not amd [ 1919.617653] kvm: no hardware support原来是在 BIOS里把 virtualization禁掉了。
进入 BIOS,打开之后,一切都正常了。