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

Darwin Guest? #72

Open
CamJN opened this issue Oct 23, 2015 · 10 comments
Open

Darwin Guest? #72

CamJN opened this issue Oct 23, 2015 · 10 comments

Comments

@CamJN
Copy link

CamJN commented Oct 23, 2015

Has anyone tried/succeeded in running a Darwin guest?

@geoff-nixon
Copy link

Probably will need to wait for EFI support for this, though you could potentially try mucking around with Clover/SMBIOS:

http://clover-wiki.zetam.org/What-is-what
http://clover-wiki.zetam.org/Configuration/SMBIOS

@MoritzFago
Copy link

With UEFI Support in bhyve it could be possible? Maybe with clover?
I would love to hear about any progress on this!

@cybertk
Copy link

cybertk commented Jul 11, 2016

+1

2 similar comments
@astlock
Copy link

astlock commented Aug 17, 2016

+1

@probonopd
Copy link

+1

@pmj
Copy link

pmj commented Nov 28, 2016

There's a series of patches against Tianocore's EDK2 UEFI implementation for Qemu virtual machines (OVMF) with which it's possible to boot macOS on Qemu/KVM without hackintoshery. I'm currently trying update these patches as they're rather out of date. I don't see why they couldn't be ported to bhyve's UEFI implementation.

You also need to enable AppleSMC emulation in Qemu; I don't know how hard it would be to implement this on bhyve/xhyve, as it's essentially an ISA device, and I'm not sure how much support there is for such legacy devices. On the other hand, ISA is pretty dumb, so maybe it's just a case of trapping in/out instructions and providing some ACPI table entries for discovery.

We already have OSX guest drivers for the critical virtio devices, including booting from virtio block or SCSI devices. It's been on my list to open source these for about a year now, but I'll get around to it eventually. :-P

I don't know bhyve/xhyve well enough to say anything about the graphics situation, but as long as there's support for some kind of framebuffer at the EFI level, it's solveable.

I'd definitely be interested in making this happen, although I have no idea how much time I can dedicate to this effort - unless someone starts paying for it, this falls under "side project" for me. But I'd be equally happy to share what I know on certain topics if someone wants to pick up various bits of it.

@stuaxo
Copy link

stuaxo commented Feb 2, 2021

This might be worth testing again, as running OSX in VMs including qemu seems a lot easier, I wonder if some these were merged ?

@shchuko
Copy link
Contributor

shchuko commented Feb 2, 2021

I've already tried to boot macOS over xhyve, Patches mentioned by @pmj were useful. I've fixed SMBIOS generation problem #197 that causes kernel panic. Also I've tried to add ASL compiler support for more flexible ACPI tables generation at runtime, #199. The last problem I've met was kernel panic with Local APIC version 0x10, 0x14 or more expected message. After a while I've switched to QEMU as a platform with lesser things to add/fix.

xhyve fork with experimental fixes is here - includes #197 and #199 changes

Patched xhyve/bhyve uefi is here. Notice that it uses BSD-incompatible VBoxHFS driver (was added for testing purposes only). It can be (and should be) replaced with compatible OpenHfsPlus. Maybe I'll do this at a free time to avoid any potential problems. At the same repo there's a bit updated AppleSupportLib

Guide how to boot macOS over QEMU with Hypervisor.Framework is here, can be useful for xhyve as a thing to investigate.

@stuaxo
Copy link

stuaxo commented Feb 3, 2021

Thanks for the detailed reply, there's quite a lot of info there.

Any idea who can merge #197 and #199 ?

Was it much work to get the patches from @pmj working? Getting these upstreamed would help reduce this list a little.

@shchuko
Copy link
Contributor

shchuko commented Feb 8, 2021

Not much work, as I said, it'd been already done for OVMF and partially done for bhyve UEFI. Bhyve/xhyve UEFI is not so different to OVMF (QEMU's UEFI). But not only these patches are required.

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

9 participants