Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
brainchild0 opened this issue Dec 8, 2022 · 10 comments
Open

Comments

@brainchild0
Copy link

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
Copy link
Owner

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

Which QEMU version do you have?

@brainchild0
Copy link
Author

  • $ qemu-x86_64 --version
    qemu-x86_64 version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.5)
    Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers
    
  • $ uname -a
    Linux <hostname> 6.0.9-060009-generic #202211170559-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 17 06:06:21 UTC x86_64 x86_64 x86_64 GNU/Linux
    
  • Libvirt domain dump (see Gist).

@thenickdude
Copy link
Owner

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
Copy link
Owner

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
Copy link
Author

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
Copy link
Owner

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
Copy link
Author

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
Copy link
Owner

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
Copy link
Author

brainchild0 commented Dec 8, 2022

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
Copy link

matus-sabo commented Jul 9, 2023

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants