KVM-Opencore icon indicating copy to clipboard operation
KVM-Opencore copied to clipboard

QEMU command line

Open dav1app opened this issue 5 years ago • 0 comments

In case anyone is wondering what is the command line executed from the libvirt inside qemu-system-x86_64, this might help:

Those lines were exported by virsh domxml-to-native qemu-argv libvirt.xml

qemu-system-x86_64 
-name guest=Catalina,debug-threads=on -object secret,id=masterKey0,format=raw,file=$HOME/.config/libvirt/qemu/lib/domain--1-Catalina/master-key.aes 
-blockdev '{"driver":"file","filename":"/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' 
-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' 
-blockdev '{"driver":"file","filename":"/etc/libvirt/qemu/nvram/4450a55c-1669-da0e-d0bd-3ab45fef0398_VARS-pure-efi.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' 
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' 
-machine pc-q35-4.2,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format 
-m 8192 
-overcommit mem-lock=off 
-smp 1,maxcpus=8,sockets=8,cores=1,threads=1 
-object iothread,id=iothread1 
-uuid 4450a55c-1669-da0e-d0bd-3ab45fef0398 
-display none 
-no-user-config 
-nodefaults 
-chardev socket,id=charmonitor,path=$HOME/.config/libvirt/qemu/lib/domain--1-Catalina/monitor.sock,server,nowait 
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew 
-global kvm-pit.lost_tick_policy=delay 
-no-hpet 
-no-shutdown 
-boot strict=on 
-device pcie-root-port,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 
-device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 
-device pcie-root-port,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 
-device pcie-root-port,port=0xb,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x3 
-device pcie-root-port,port=0xc,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 
-device pcie-root-port,port=0xd,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 
-device pcie-root-port,port=0xe,chassis=7,id=pci.7,bus=pcie.0,addr=0x1.0x6 
-device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x7.0x7 
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,addr=0x7 
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x7.0x1 
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x7.0x2 
-device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 
-blockdev '{"driver":"file","filename":"/mnt/user/domains/Catalina/opencore.beta.qcow2","aio":"threads","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' 
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-2-storage","backing":null}' 
-device ide-hd,bus=ide.4,drive=libvirt-2-format,id=sata0-0-4,bootindex=1,write-cache=on -blockdev '{"driver":"file","filename":"/mnt/user/domains/Catalina/system.beta.qcow2","aio":"threads","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' 
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage","backing":null}' 
-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,write-cache=on -chardev pty,id=charserial0 
-device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=$HOME/.config/libvirt/qemu/channel/target/domain--1-Catalina/org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 
-device usb-tablet,id=input0,bus=usb.0,port=1 
-device usb-kbd,id=input2,bus=usb.0,port=3 
-cpu Penryn,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2 
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny 
-msg timestamp=on

I've just changed 4 things:

  • Removed the internet passtrough below. Somehow, transforming a XML to qemu-args tries to execute the command as well. So trying to run it without sudo retrieves error: Unable to create tap device vnet%d: Operation not permitted
    <interface type='bridge'>
      <mac address='52:54:00:3e:21:a2'/>
      <source bridge='br0.100'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>
  • Remove the CPU topology . It was giving me error: unsupported configuration: CPU topology doesn't match maximum vcpu count.
  <vcpu placement='static' current='6'>8</vcpu>
  <iothreads>1</iothreads>
  <vcpus>
    <vcpu id='0' enabled='yes' hotpluggable='no' order='1'/>
    <vcpu id='1' enabled='yes' hotpluggable='yes' order='2'/>
    <vcpu id='2' enabled='yes' hotpluggable='yes' order='3'/>
    <vcpu id='3' enabled='yes' hotpluggable='yes' order='4'/>
    <vcpu id='4' enabled='yes' hotpluggable='yes' order='5'/>
    <vcpu id='5' enabled='yes' hotpluggable='yes' order='6'/>
    <!-- If you wanna passthrough all 8-cores, enable 6/7 two vcpus -->
    <vcpu id='6' enabled='no' hotpluggable='yes' order='7'/>
    <vcpu id='7' enabled='no' hotpluggable='yes' order='8'/>
  </vcpus>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='6'/>
    <vcpupin vcpu='2' cpuset='1'/>
    <vcpupin vcpu='3' cpuset='7'/>
    <vcpupin vcpu='4' cpuset='2'/>
    <vcpupin vcpu='5' cpuset='8'/>
    <iothreadpin iothread='1' cpuset='3,9'/>
  </cputune>
  • Removed the direct path to the emulator (since I can assume that the user is going to execute this on the right qemu-system-x86_64.
<emulator>/usr/local/sbin/qemu</emulator>
  • Changed my path that was exported with the command to $HOME

dav1app avatar Aug 05 '20 00:08 dav1app