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

Reply via email to