I can do stuff in c/cpp/objc/swift, but i never did any hardware emulation or KVM
Sent from my iPhone > On 28 Nov 2017, at 12:58, Peter Kelm <[email protected]> wrote: > > Gjermund, > > Sorry for the confusion - no, we did not make it work through option 1 due to > the lack of adequate patches. From what I recall we were able to boot the > Chameleon boot loader but that was it - and we only tried rather old OSX > versions (10.6 and 10.8). > > I pasted the JSON below mainly to illustrate that there’s an interface in > vmadm that can setup such options to a KVM zone description. > > To make this work one would probably need to back-port patches for CPU type > and Q35 platform support first. These could then also be tested with other > KVM VM’s apart from OSX/macOS. The second step would then be to resolve/fix > boot issues with OSX/macOS itself. > > BTW: We haven’t seen huge issues with Windows KVM performance at vcpus=1 > although it can be slow occasionally. We only use that OS in a few server > VMs, so bigger issues could go unnoticed... > > Hmm, I have quite some C/C++ programming expertise myself but haven’t spent > much time hacking QEMU. One’s ability to support such an effort would of > course be very limited without programming experience... > > Peter > >> Am 28.11.2017 um 11:33 schrieb Gjermund ॐ Gusland Thorsen >> <[email protected]>: >> >> My intial thought on your section 1 is did you make it work? I see there is >> vcpus = 1 in which at least for Windows is brutally slow; however with vcpus >> = 16 the running instance appears to be running at an enjoyable pace. >> >> I would be interested in helpings out on rejuvenating qemu in smartos, but >> not sure which part of me is needed. I have the "barebones" knowledge of >> scripting in several languages yet no experience in the field of KVM/qemu >> other than being a user of SmartOS. >> >> Sent from my iPhone >> >>> On 28 Nov 2017, at 11:21, Peter Kelm <[email protected]> wrote: >>> >>> Gjermund, >>> >>> We looked into the very same question ourselves a few months ago and came >>> up with the following approaches: >>> >>> 1) Fix KVM on SmartOS. >>> >>> This could be accomplished by either „upgrading“ the SmartOS supplied >>> version of QEMU or patching the existing version to make it boot macOS. >>> Each KVM zone on SmartOS has a „startvm" file in its root directory that >>> would need to be modified for a macOS VM. This could be accomplished by >>> passing the correct parameters to "vmadm create“, e.g. via >>> „qemu_extra_opts“, e.g.: >>> >>> { >>> "brand": "kvm", >>> "vcpus": 1, >>> "autoboot": false, >>> "alias": "OSX", >>> "ram": 2048, >>> "resolvers": ["192.168.17.1", "192.168.18.1"], >>> "disks": [ >>> { >>> "boot": true, >>> "model": "ide", >>> "size": 20480 >>> } >>> ], >>> "nics": [ >>> { >>> "nic_tag": "admin", >>> "model": "virtio", >>> "ip": "192.168.17.106", >>> "netmask": "255.255.255.0", >>> "gateway": "192.168.17.1" >>> } >>> ], >>> "qemu_extra_opts": "-kernel boot -device usb-kbd -device usb-mouse >>> -device isa-applesmc,osk=\“whatever\"“ >>> } >>> >>> Note that the patches published at >>> https://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/ are for a much newer >>> version of QEMU (it was mentioned already on this thread that the version >>> ported to SmartOS is fairly ancient from today’s perspective)! >>> >>> Recent versions of OSX/macOS also require the Penryn CPU type and a Q35 >>> machine type. Such patches exist(ed) - at least in parts - for older QEMU >>> versions, but are completely in current QEMU. >>> >>> The SeaBIOS file referenced by Gabriel Somlo’s website should be fine as is >>> - but again: requires a newer version of QEMU. >>> >>> Helpful information - in addition to Gabriel’s website: >>> - https://github.com/kholia/OSX-KVM >>> - https://github.com/jibaron/q35-qemu (I believe these were the original >>> patches for a Q35 machine type in QEMU) >>> >>> 2) Use VirtualBox on SmartOS? >>> >>> The other possibility we came up with would be using macOS inside a >>> VirtualBox VM on SmartOS. macOS support in VirtualBox exists and there’s a >>> Solaris version that would need to be unpacked and integrated into the GZ >>> image (drivers!). From what I read it should run in a (non-global) zone but >>> information is scarce on that aspect. At the very least one would need to >>> integrate the VBox drivers into the SmartOS image and permit a zone to see >>> and access them. VBox itself can be controlled via the command line, so no >>> GUI would be needed. >>> >>> 3) There’s a newer QEMU version in pkgsrc >>> Jan Poctavek of Erigones (CC'd) mentioned this potential option to me some >>> weeks ago during a meeting. I haven’t looked into this at all and I am not >>> too sure whether it would help in the end (a second KVM version, similar >>> issues than VBox). But he might be able to give additional details. >>> >>> With all this said we would lean towards option 1) as it would have the >>> best long(er) term potential for the SmartOS platform. Additionally, other >>> KVM’s (incl. Windows) might also benefit from such a move by enabling >>> additional features and keeping closer track of QEMU’s development outside >>> of SmartOS - instead of rolling our own patchy version. >>> >>> Getting macOS KVM VM’s going would be very interesting for us. We lacked >>> the time to do it alone but with the coordinated effort of a (small) group >>> of people and it might be achievable… >>> >>> In this light it would also be interesting to hear from Joyent what their >>> take would be on „rejuvenating“ QEMU on SmartOS. >>> >>> Peter >>> >>>> Am 27.11.2017 um 19:17 schrieb Gjermund Gusland Thorsen >>>> <[email protected]>: >>>> >>>> This should work for any intel Mac with the appropriate amount of CPU / >>>> RAM. I did not try on my MacPro yet. >>>> >>>> The challenge is in making the MacOS X boot inside the KVM zone as MacOS X >>>> boots using UEFI, and not legacy. In essence I have a preinstalled image >>>> made with CCC from the time when the xserve ran natively; yet I'm not able >>>> to make it boot inside the zone. Perhaps I'll just have to dd the image >>>> mounted CCC image to a file. I'm still not able to imagine how to tell the >>>> KVM zone how to boot in UEFI mode however. >>>> >>>> Here is a non-stock-illumos approach( and legal stuff pt 4: ) >>>> https://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/ >>>> >>>> Do you know how to submit these patches to Joyent SmartOS? If not in the >>>> main thread perhaps a separate dataset? >>>> >>>> Ideally I would like something along the lines the way we are able to >>>> install and boot Windows. >>>> >>>> G >>>> >>>>> On 27 Nov, 2017, at 15:50, Alex Kritikos <[email protected]> wrote: >>>>> >>>>> Would this also work on a Mac Pro 2010? Would you mind sharing some >>>>> details on how you achieved it? >>>>> >>>>> >>>>> Alex >>>>> >>>>> >>>>> >>>>>> On 27 November 2017 at 16:20:02, Gjermund Gusland Thorsen >>>>>> ([email protected]) wrote: >>>>>> >>>>>> I run Joyent SmartOS on an Apple XServ( xserv 2,1 ) w/96 GB RAM >>>>>> >>>>>> Apple is fine with virtualizing their OS as long as it's done one Apple >>>>>> Hardware. >>>>>> >>>>>> How can I make a MacOS X KVM in a zone? >>>>>> >>>>>> G >>>>>> >>>> >>> > > smartos-discuss | Archives | Modify Your Subscription ------------------------------------------- smartos-discuss Archives: https://www.listbox.com/member/archive/184463/=now RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00 Modify Your Subscription: https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb Powered by Listbox: http://www.listbox.com
