Bug 1198136

Summary: Can't create m68k VM
Product: [Community] Virtualization Tools Reporter: Mattias Ellert <mattias.ellert>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED DEFERRED QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: agedosier, berrange, clalancette, crobinso, itamar, jforbes, jtomko, laine, libvirt-maint, rbalakri, veillard, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-10 20:28:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
domain xml none

Description Mattias Ellert 2015-03-03 13:05:01 UTC
Description of problem:

I installed qemu-system-m68k and downloaded a Debian m68k filesystem image from http://zigo.mirbsd.org:8080/t/2015-Jan/Ara2015A.ima.gz and tried to create a VM on my x86_64 host.

It didn't work. The error message is: "Unable to complete install: 'XML error: No PCI buses available'".

I don't think it makes sense to expect PCI bus present on m68k emulation.

Version-Release number of selected component (if applicable):

virt-manager-1.1.0-4.git310f6527.fc21.noarch
libvirt-1.2.9.2-1.fc21.x86_64
qemu-system-m68k-2.1.3-2.fc21.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Download the image mentioned above and decompress it
2. Try using it as the image when creating an m68k VM in virt-manager

Actual results:
Unable to complete install: 'XML error: No PCI buses available'

Expected results:
Working VM

Additional info:
Searching bugzilla I have found similar bugs for arm and ppc VM creation.

Comment 1 Ján Tomko 2015-03-04 08:28:15 UTC
Can you post the domain XML? It should be visible on the console when running virt-manager with the --debug option.

The 'No PCI buses available' error means the domain does not have a PCI bus, but there are some devices that require a PCI address.

Either virt-manager requests these devices, or libvirt adds them automatically.
Memballoon and usb controller could be such devices, and you may need to disable them using:
<memballoon model='none'/>
<controller type='usb' model='none'/>

Comment 2 Mattias Ellert 2015-03-04 18:37:59 UTC
Created attachment 998002 [details]
domain xml

Comment 3 Ján Tomko 2015-03-05 07:05:20 UTC
Apart from memballoon and usb controller, which need to be disabled explicitly,
libvirt assumes virtio-net needs a PCI address (/* Network interfaces */ section of qemuAssignDevicePCISlots) and that there is a IDE controller present.

I don't know what buses are available for storage and networking on this architecture, but if libvirt's assumptions are wrong or it does not allow to represent these devices in the domain XML, you're welcome to send a patch:
http://libvirt.org/contact.html

QEMU also requires a -kernel image for this architecture (<os><kernel> element).

Does the machine boot without network, without storage, with memballoon and usb disabled and a kernel image?

Comment 4 Cole Robinson 2016-04-10 20:28:32 UTC
No response, so just closing. The fact that libvirt doesn't work well with the esoteric qemu architectures is well known; to fix it's going to take someone to sit down with the debian images and command lines, patch libvirt to get them working, and then document how to invoke virt-install for each arch