【发布时间】:2019-01-28 01:39:15
【问题描述】:
我在 Cloudlab 中有一个 Openstack Pike 部署,它使用的是 QEMU 版本 2.10.1(Debian 1:2.10+dfsg-0ubuntu3.8~cloud1)。
我想用 this version 替换 QEMU,它支持通过 QMP 进行监控。我使用:./configure --target-list=x86_64-softmmu 进行配置并编译了二进制文件qemu-system-x86_64,但是当我检查支持的机器类型时,它缺少原始二进制文件中存在的一些机器类型:
pc-i440fx-zesty Ubuntu 17.04 PC (i440FX + PIIX, 1996)
pc-i440fx-yakkety Ubuntu 16.10 PC (i440FX + PIIX, 1996)
pc-i440fx-xenial Ubuntu 16.04 PC (i440FX + PIIX, 1996)
pc-i440fx-wily Ubuntu 15.04 PC (i440FX + PIIX, 1996)
pc-i440fx-trusty Ubuntu 14.04 PC (i440FX + PIIX, 1996)
ubuntu Ubuntu 17.10 PC (i440FX + PIIX, 1996) (alias of pc-i440fx-artful)
pc-i440fx-artful Ubuntu 17.10 PC (i440FX + PIIX, 1996) (default)
pc-i440fx-2.9 Standard PC (i440FX + PIIX, 1996)
pc-q35-zesty Ubuntu 17.04 PC (Q35 + ICH9, 2009)
pc-q35-yakkety Ubuntu 16.10 PC (Q35 + ICH9, 2009)
pc-q35-xenial Ubuntu 16.04 PC (Q35 + ICH9, 2009)
pc-q35-artful Ubuntu 17.10 PC (Q35 + ICH9, 2009)
pc-q35-2.9 Standard PC (Q35 + ICH9, 2009)
所以当我尝试使用 Openstack 部署测试 VM 时,它给了我错误:
libvirtError: internal error: process exited while connecting to monitor: 2019-01-24T19:41:51.292121Z qemu-system-x86_64: -enable-kvm: unsupported machine type
当我将机器类型更改为可用的机器类型之一 hw_machine_type = x86_64=pc-i440fx-1.6 时,它给了我这个错误:
libvirtError: internal error: qemu unexpectedly closed the monitor: qemu: could not load PC BIOS 'bios-256k.bin'
所以在四处寻找错误之后,我刚刚创建了一个符号链接:
sudo ln -sf /usr/share/seabios/bios-256k.bin /usr/share/qemu/bios.bin
然后它给出了以下错误:
libvirtError: internal error: qemu unexpectedly closed the monitor: Could not open option rom 'kvmvapic.bin': No such file or directory
所以我在想也许我应该只使用原始机器类型,我想知道我们在构建 QEMU 时如何添加更多支持的机器类型?我想它一定是配置选项之一,但我一直没能找到它。
【问题讨论】:
标签: qemu libvirt openstack-nova