foxlet / macOS-Simple-KVM

Tools to set up a quick macOS VM in QEMU, accelerated by KVM.
13.63k stars 1.14k forks source link

Both boot.sh and make.sh do not work #167

Open w180112 opened 4 years ago

w180112 commented 4 years ago

Hi I have tried both qemu and virt-manager methods

when trying to use boot.sh it shows

qemu-system-x86_64: -device isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc: 'isa-applesmc' is not a valid device model name

If I use make.sh instead, it shows

template.xml has been generated in /root/macOS-Simple-KVM error: Failed to define domain from template.xml error: XML error: Attempted double use of PCI Address 0000:00:01.0

Can anyone resolve this for me?

Thanks

foxlet commented 4 years ago

What distro and qemu version are you using? Older releases are not supported by macOS-Simple-KVM.

w180112 commented 4 years ago

Hi, I use Centos 8.0 qemu version is 2.12

P.S. I use symbolic link to link qemu-kvm to qemu-system-x86_64

Thanks

foxlet commented 4 years ago

CentOS is known to be problematic, you'll need to update your QEMU version with support for apple-smc-isa (QEMU 4.2.0 is recommended).

Provissy commented 3 years ago

RedHat's official build of QEMU does not include isa-applesmc device support. You can build your own QEMU or use a container instead. Fedora's QEMU build does support applesmc.

You can launch a fedora container with kvm passthrough:

podman run -dt --device=/dev/kvm --name=fedora-qemu registry.fedoraproject.org/fedora
podman exec -it fedora-qemu bash
dnf install qemu-kvm

If you are not familiar with containers, please refer to https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/building_running_and_managing_containers/index

mailinglists35 commented 1 year ago

@Provissy

$ podman exec -it fedora-qemu bash
[root@3b837b7e3c99 /]# qemu-kvm
gtk initialization failed
[root@3b837b7e3c99 /]# qemu-system-x86_64
gtk initialization failed

any hints? furthermore, can it run under libvirt, or only works with manual invocation?