thenickdude / KVM-Opencore

OpenCore disk image for running macOS VMs on Proxmox/QEMU
https://www.nicksherlock.com/2021/10/installing-macos-12-monterey-on-proxmox-7/
GNU General Public License v3.0
1.2k stars 110 forks source link

Boot failure in desktop environment with Qemu/KVM (i.e. not Proxmox) #49

Open brainchild0 opened 1 year ago

brainchild0 commented 1 year ago

I had hoped to utilize the utilities from a generic Linux host (e.g. Linux Mint 21), but have not yet met success.

I provisioned a guest system with EFI boot firmware, and a hard disk using image OpenCore-v19.iso.

The guest system hangs at boot, showing the firmware splash screen (see image capture below).

Is an environment supported like the one described?

Please advise if further details are required, such as a dump of a Libvirt domain descriptor.


Screenshot_macos_2022-12-07_23:31:34

thenickdude commented 1 year ago

Sure, provide your VM config and I'll take a look.

Which QEMU version do you have?

brainchild0 commented 1 year ago
thenickdude commented 1 year ago

pc-i440fx isn't supported, use the q35 machine model instead.

I couldn't quite tell what your hard disk controller is, but it needs to be virtio-blk rather than virtio-scsi (you could use SATA as well).

I don't think macOS has support for the balloon driver, so you can remove that one.

I've never tested SPICE graphics, I suggest using "vmware" video instead and removing all reference to SPICE from the config.

thenickdude commented 1 year ago

Also you'll need some custom QEMU args at the bottom of the file, osx-kvm has the args for Catalina listed:

https://github.com/kholia/OSX-KVM/blob/master/macOS-libvirt-Catalina.xml

For newer versions check what "args" line I recommend in my blog:

https://www.nicksherlock.com/2022/10/installing-macos-13-ventura-on-proxmox/

brainchild0 commented 1 year ago

I have made some progress, reaching as far as the boot loader, but the only options provided are for entering the UEFI shell and resetting NVRAM. Should an option be shown for a recovery environment, running within a live deployment of the operating system?

thenickdude commented 1 year ago

You need to attach a macOS recovery image as a disk for that to appear, check out the instructions in my blog for building one

brainchild0 commented 1 year ago

I thought I had one attached, but perhaps it was not valid.

At any rate, I was able to boot with an image generated through the endorsed method.

The guide referenced in the Readme file was my only reference, and it covered configuration through Proxmox but not other front ends, such as Virtual Machine Manager or the plain Libvirt console.

In particular, I was misled by a reference to the VirtIO Block device, which I mistook for compatibility for VirtIO SCSI, the only VirtIO disk type exposed through VMM.

Perhaps someone who understands the nuances of differences among the various Qemu/KVM frontends would be able to extend the existing guides or documentation to support new users operating in other environments.

thenickdude commented 1 year ago

A laudable goal, but I only maintain this repo to serve as an adjunct to my Proxmox blog. I've never used libvirt myself (as Proxmox's native packages conflict with it and prevent its installation) so my interest in ongoing support of those varied configurations and distributions is severely limited. I don't even support older versions of Proxmox itself.

I can recommend these non-Proxmox approaches for reference material:

https://github.com/kholia/OSX-KVM

https://github.com/sickcodes/Docker-OSX

brainchild0 commented 1 year ago

One change that may be within an acceptable scope would be to add references in the Readme to the related projects, in addition to the guide already referenced, explaining the bounds of each project or document relative to the others.

matus-sabo commented 1 year ago

@brainchild0 @thenickdude

Hi I was able to run nick OpenCore-v20.iso, on virtlib / QEMU. I am using Fedora 38 as host system with virt-manager GUI. There is my repo with guide for my hardware. matus-sabo/KVM

I wanna thank you @thenickdude for amazing work. Your blogs was great source of information.

Good luck with your VM.