[libvirt-users] Problems with qemu-system-arm and isa-serial

Niccolo Rigacci niccolo at rigacci.org
Tue Feb 18 09:03:00 UTC 2014


On Tue, Feb 18, 2014 at 09:33:01AM +0100, Martin Kletzander wrote:
> >
> > > Wahtever I do in libvirt, I get this paramter added:
> > >
> > > -device isa-serial
> > >
> >
> > and this is new-style for x86 qemu, however, arm-based qemu haven't
> > adopted this option yet.
> >
> 
> To be a bit more precise, only *some* machine types support this
> option, others may have adopted it, but don't use it properly and what
> you describe is most probably properly adopted option, but qemu not
> adding an ISA controller (apart from non-arm qemu which has it
> always).  Can you send me the output of 'virsh capabilities' and
> 'virsh dumpxml <domain_name>' so I can have a look at what's the
> particular type of machine you are using for which we should not use
> '-device isa-serial'?

This is the command line I use to start qemu directly:

qemu-system-arm -M versatileab -m 256 \
    -kernel vmlinuz-2.6.32-5-versatile \
    -initrd initrd.img-2.6.32-5-versatile \
    -hda "debian_squeeze_armel_standard.qcow2" -boot order=c \
    -netdev tap,id=hostnet0,ifname=tap72,script=/home/kvm/armel/qemu-ifup \
    -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:00:03:72 \
    -nographic -serial telnet::4000,server,nowait,nodelay \
    -append "root=/dev/sda1 console=ttyAMA0"


Adding the -nodefaults I had to use this command line (not 
exactly equivalent and not perfectly streamlined, but it starts):

/usr/bin/qemu-system-arm -M versatileab -m 256 \
    -smp 1,sockets=1,cores=1,threads=1 \
    -name armel -uuid bf9adc6c-f05c-2698-1cf0-278fd86dc19a \
    -nographic -no-user-config -nodefaults \
    -rtc base=utc -no-shutdown \
    -kernel /home/kvm/armel/vmlinuz-2.6.32-5-versatile \
    -initrd /home/kvm/armel/initrd.img-2.6.32-5-versatile \
    -append "root=/dev/sda1 console=ttyAMA0" \
    -device piix3-usb-uhci,id=usb,bus=pci,addr=0x1.0x2 \
    -device pl011 \
    -drive file=/home/kvm/armel/debian_squeeze_armel_standard.qcow2,if=scsi \
    -device lsi \
    -boot order=c \
    -netdev tap,id=hostnet0,ifname=tap72,script=/home/kvm/armel/qemu-ifup \
    -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:00:03:72 \
    -serial telnet::4000,server,nowait,nodelay

I attach the virsh capabilities and the machine xml (which is not 
functional).

-- 
Niccolo Rigacci - http://www.rigacci.net/
Campi Bisenzio - Firenze - Italy
Tel. Office: +39-055-9331021, Mobile: +39-327-5619352
-------------- next part --------------
<capabilities>

  <host>
    <uuid>4c4c4544-004b-4a10-8058-b1c04f52344a</uuid>
    <cpu>
      <arch>x86_64</arch>
      <model>Nehalem</model>
      <vendor>Intel</vendor>
      <topology sockets='1' cores='2' threads='2'/>
      <feature name='rdtscp'/>
      <feature name='pdcm'/>
      <feature name='xtpr'/>
      <feature name='tm2'/>
      <feature name='est'/>
      <feature name='vmx'/>
      <feature name='ds_cpl'/>
      <feature name='monitor'/>
      <feature name='dtes64'/>
      <feature name='pbe'/>
      <feature name='tm'/>
      <feature name='ht'/>
      <feature name='ss'/>
      <feature name='acpi'/>
      <feature name='ds'/>
      <feature name='vme'/>
    </cpu>
    <power_management/>
    <migration_features>
      <live/>
      <uri_transports>
        <uri_transport>tcp</uri_transport>
      </uri_transports>
    </migration_features>
    <topology>
      <cells num='1'>
        <cell id='0'>
          <cpus num='4'>
            <cpu id='0'/>
            <cpu id='1'/>
            <cpu id='2'/>
            <cpu id='3'/>
          </cpus>
        </cell>
      </cells>
    </topology>
  </host>

  <guest>
    <os_type>hvm</os_type>
    <arch name='i686'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu</emulator>
      <machine>pc-1.1</machine>
      <machine canonical='pc-1.1'>pc</machine>
      <machine>pc-1.0</machine>
      <machine>pc-0.15</machine>
      <machine>pc-0.14</machine>
      <machine>pc-0.13</machine>
      <machine>pc-0.12</machine>
      <machine>pc-0.11</machine>
      <machine>pc-0.10</machine>
      <machine>isapc</machine>
      <machine>xenfv</machine>
      <machine>xenpv</machine>
      <domain type='qemu'>
      </domain>
      <domain type='kvm'>
        <emulator>/usr/bin/kvm</emulator>
        <machine>pc-1.1</machine>
        <machine canonical='pc-1.1'>pc</machine>
        <machine>pc-1.0</machine>
        <machine>pc-0.15</machine>
        <machine>pc-0.14</machine>
        <machine>pc-0.13</machine>
        <machine>pc-0.12</machine>
        <machine>pc-0.11</machine>
        <machine>pc-0.10</machine>
        <machine>isapc</machine>
      </domain>
    </arch>
    <features>
      <cpuselection/>
      <deviceboot/>
      <pae/>
      <nonpae/>
      <acpi default='on' toggle='yes'/>
      <apic default='on' toggle='no'/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='x86_64'>
      <wordsize>64</wordsize>
      <emulator>/usr/bin/qemu-system-x86_64</emulator>
      <machine>pc-1.1</machine>
      <machine canonical='pc-1.1'>pc</machine>
      <machine>pc-1.0</machine>
      <machine>pc-0.15</machine>
      <machine>pc-0.14</machine>
      <machine>pc-0.13</machine>
      <machine>pc-0.12</machine>
      <machine>pc-0.11</machine>
      <machine>pc-0.10</machine>
      <machine>isapc</machine>
      <machine>xenfv</machine>
      <machine>xenpv</machine>
      <domain type='qemu'>
      </domain>
      <domain type='kvm'>
        <emulator>/usr/bin/kvm</emulator>
        <machine>pc-1.1</machine>
        <machine canonical='pc-1.1'>pc</machine>
        <machine>pc-1.0</machine>
        <machine>pc-0.15</machine>
        <machine>pc-0.14</machine>
        <machine>pc-0.13</machine>
        <machine>pc-0.12</machine>
        <machine>pc-0.11</machine>
        <machine>pc-0.10</machine>
        <machine>isapc</machine>
      </domain>
    </arch>
    <features>
      <cpuselection/>
      <deviceboot/>
      <acpi default='on' toggle='yes'/>
      <apic default='on' toggle='no'/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='arm'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-arm</emulator>
      <machine>integratorcp</machine>
      <machine>collie</machine>
      <machine>nuri</machine>
      <machine>smdkc210</machine>
      <machine>connex</machine>
      <machine>verdex</machine>
      <machine>highbank</machine>
      <machine>mainstone</machine>
      <machine>musicpal</machine>
      <machine>n800</machine>
      <machine>n810</machine>
      <machine>sx1</machine>
      <machine>sx1-v1</machine>
      <machine>cheetah</machine>
      <machine>realview-eb</machine>
      <machine>realview-eb-mpcore</machine>
      <machine>realview-pb-a8</machine>
      <machine>realview-pbx-a9</machine>
      <machine>akita</machine>
      <machine>spitz</machine>
      <machine>borzoi</machine>
      <machine>terrier</machine>
      <machine>lm3s811evb</machine>
      <machine>lm3s6965evb</machine>
      <machine>tosa</machine>
      <machine>versatilepb</machine>
      <machine>versatileab</machine>
      <machine>vexpress-a9</machine>
      <machine>vexpress-a15</machine>
      <machine>xilinx-zynq-a9</machine>
      <machine>z2</machine>
      <domain type='qemu'>
      </domain>
    </arch>
    <features>
      <deviceboot/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='microblaze'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-microblaze</emulator>
      <machine>petalogix-s3adsp1800</machine>
      <machine>petalogix-ml605</machine>
      <domain type='qemu'>
      </domain>
    </arch>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='microblazeel'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-microblazeel</emulator>
      <machine>petalogix-s3adsp1800</machine>
      <machine>petalogix-ml605</machine>
      <domain type='qemu'>
      </domain>
    </arch>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='mips'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-mips</emulator>
      <machine>malta</machine>
      <machine>magnum</machine>
      <machine>pica61</machine>
      <machine>mipssim</machine>
      <machine>mips</machine>
      <domain type='qemu'>
      </domain>
    </arch>
    <features>
      <deviceboot/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='mipsel'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-mipsel</emulator>
      <machine>malta</machine>
      <machine>magnum</machine>
      <machine>pica61</machine>
      <machine>mipssim</machine>
      <machine>mips</machine>
      <domain type='qemu'>
      </domain>
    </arch>
    <features>
      <deviceboot/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='sparc'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-sparc</emulator>
      <machine>SS-5</machine>
      <machine>leon3_generic</machine>
      <machine>SS-10</machine>
      <machine>SS-600MP</machine>
      <machine>SS-20</machine>
      <machine>Voyager</machine>
      <machine>LX</machine>
      <machine>SS-4</machine>
      <machine>SPARCClassic</machine>
      <machine>SPARCbook</machine>
      <machine>SS-1000</machine>
      <machine>SS-2000</machine>
      <machine>SS-2</machine>
      <domain type='qemu'>
      </domain>
    </arch>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='ppc'>
      <wordsize>32</wordsize>
      <emulator>/usr/bin/qemu-system-ppc</emulator>
      <machine>g3beige</machine>
      <machine>ref405ep</machine>
      <machine>taihu</machine>
      <machine>bamboo</machine>
      <machine>mac99</machine>
      <machine>prep</machine>
      <machine>mpc8544ds</machine>
      <machine>virtex-ml507</machine>
      <domain type='qemu'>
      </domain>
    </arch>
    <features>
      <deviceboot/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='ppc64'>
      <wordsize>64</wordsize>
      <emulator>/usr/bin/qemu-system-ppc64</emulator>
      <machine>mac99</machine>
      <machine>ref405ep</machine>
      <machine>taihu</machine>
      <machine>bamboo</machine>
      <machine>g3beige</machine>
      <machine>prep</machine>
      <machine>mpc8544ds</machine>
      <machine>pseries</machine>
      <machine>virtex-ml507</machine>
      <domain type='qemu'>
      </domain>
    </arch>
    <features>
      <cpuselection/>
      <deviceboot/>
    </features>
  </guest>

  <guest>
    <os_type>hvm</os_type>
    <arch name='s390x'>
      <wordsize>64</wordsize>
      <emulator>/usr/bin/qemu-system-s390x</emulator>
      <machine>s390-virtio</machine>
      <machine canonical='s390-virtio'>s390</machine>
      <domain type='qemu'>
      </domain>
    </arch>
  </guest>

</capabilities>


-------------- next part --------------
<domain type='qemu'>
  <name>armel</name>
  <uuid>bf9adc6c-f05c-2698-1cf0-278fd86dc19a</uuid>
  <memory unit='KiB'>262144</memory>
  <currentMemory unit='KiB'>262144</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='arm' machine='versatileab'>hvm</type>
    <kernel>/home/kvm/armel/vmlinuz-2.6.32-5-versatile</kernel>
    <initrd>/home/kvm/armel/initrd.img-2.6.32-5-versatile</initrd>
    <cmdline>root=/dev/sda1 console=ttyAMA0</cmdline>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-arm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/home/kvm/armel/debian_squeeze_armel_standard.qcow2'/>
      <target dev='hda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='scsi' index='0' model='lsilogic'/>
    <controller type='virtio-serial' index='0' ports='4'/>
    <controller type='usb' index='0'/>
    <interface type='bridge'>
      <mac address='52:54:00:00:03:72'/>
      <source bridge='br0'/>
      <target dev='tap72'/>
      <model type='virtio'/>
    </interface>
    <serial type='tcp'>
      <source mode='bind' host='0.0.0.0' service='4000'/>
      <protocol type='raw'/>
      <target port='0'/>
    </serial>
    <console type='tcp'>
      <source mode='bind' host='0.0.0.0' service='4000'/>
      <protocol type='raw'/>
      <target type='serial' port='0'/>
    </console>
    <memballoon model='virtio'/>
  </devices>
</domain>



More information about the libvirt-users mailing list