Hello everyone:
First of all, I'd like to say I really, truly appreciate all the hard work that has gone into the Proxmox VE product. It is so incredibly valuable to have something of this caliber available for free (Support costs money, I get that, and it's a great business model).
The reason I'm bringing this issue up is that I'm a Systems Engineer by trade (I do Technical Consulting, Deployment, and Integration work for an Apple VAR & MSP business), and actually have a fair amount of engineering work subcontracted to me from Apple.
Not only am I an engineer by trade, but like many of you I suspect, it's my passion. My hobby. It's what I do, even when I'm not at work, just because it's fun. All that said, over the years as Apple's OS and software offerings in the enterprise I.T. market have become more and more "dumbed down", and less of a serious contender for space in a server room, I became very interested in Linux/UNIX, and especially open source software. I've also become a huge fan of virtualization (Proxmox being my hypervisor of choice).
What I, and many others I suspect DREAM of, is full Mac OS X Guest support in Proxmox. Because people working in I.T. with an Apple focused perspective like me, often NEED to architect solutions based on Linux, and virtualization in order to provide a rock solid, and affordable deployment. BUT, because of the Apple perspective, there's almost always a need for an "element" of OS X. Maybe just for a file share. Or caching of Apple Software Updates on the LAN, or to use their MDM Server. But it drives me crazy to have to deploy a silly little Mac Mini and go bare metal.
It seems EVERY time this is brought up, people cite Apple's EULA as if virtualizing OS X were a "no no". Ever since the introduction of Leopard Server (October of 2007) Apple has modified their EULA to allow some degree of virtualization. For Leopard and then Snow Leopard, the "Mac OS X Server" branch of the OS (it was a separate product/build of the OS back then) was opened up to allow for virtualization. 100% legal, and legit. Parallels even went so far as to develop a server product specifically for this. Parallels "Server for Mac", and later Parallels "Server for Mac Bare Metal" (going one step further and allowing a lightweight linux wrapper around their hypervisor alone. For whatever reason their overpriced, and not so stable product got discontinued.
With the release of Mac OS X Lion (July of 2011) the EULA was modified to allow for the virtualization of up to 2 additional copies of OS X legally for anyone who is running a legitimate copy of OS X. And, I really think this distinction is what caused a lot of confusion. People kept focusing on the language of "already running OS X", and deciding that it was only OK to virtualize OS X if you were currently booted to OS X. I don't think that's the case at all. It wasn't stated that clearly. I think their intent, was to say that, if you downloaded a hacked up torrent of OS X, and installed it on your fancy new Hackintosh you've built then no, of course you are braking the EULA. But I think they were simply trying to say that, if you are legally licensed to be using the OS (i.e. it came on the Mac you purchased), then you could fire up a hypervisor, and legally run a couple VM's with no additional licensing required.
Another reason I'll argue that it's OK to offer Mac OS X Guest support is that VMware has been doing it for YEARS. In the open. Listing the operating systems as having guest support, and several of Apple's computers (Xserves, Mac Pro's, and Mac Mini's) on their hardware compatibility list.
What I'm referring to is their flagship hypervisor (ESXi, and vSphere). These support Mac OS X Guests with no issue. They simply require that you being running ESXi/vSphere on Apple Hardware. That's been the rub all along. You don't have boot OS X, you just need to be using Apple hardware (which, if you look at the specs is just high quality, stylish X86_64 standard stuff).
VMWare, and Parallels in their products always implemented this simply by checking for the presences of Apple's AppleSMC (System Management Controller) and ASCII OSK0 & OSK1 strings/key values. Hackintosh projects often create false dummy hardware to trick the software into thinking they're seeing genuine Apple Hardware, and hacked torrents floating around out there that let you boot OS X from non Apple Hardware do so by "patching" the hypervisor, and disabling it's checking.
But it's not necessary to do any of that. Simply check for the AppleSMC, and OSK key values, and pass the hardware visibility to the guest so that OS X when booting can verify it as well and you're good to go. Parallels Server for Mac Bare Metal did this, and VMware's ESXi, and vSphere do this now. These are major commercial software virtualization vendors, who, incidentally also offer Parallels Desktop, and VMware's Fusion to personal computer user's wanting to run Windows on their Mac, and have retained their developer certification to continue doing so... even selling these products in Apple Stores because of their good relationship.
There was a time when implementing OS X Guest support would be a colossal feat of crude and illegal/un-ethical hacking. That simply is no longer the case.
You CAN offer OS X Guest Support while remaining fully EULA compliant, and if you were to do this, it would be HUGE a differentiator for your product. I would probably start getting it sold to ALL my corporate customers, WITH a support contract if it just offered this Guest support.
So... if your engineering resources are simply stretched too thin to implement something like this, and you think it would be a worthless feature, I can't really argue with you guys (you know your customers better than I), but please. Can we all stop saying it's too hard, or that it will break the EULA. KVM and QEMU updates recently have made this trivial. I wouldn't be surprised if it actually starts working sometime in the near future without you even noticing. It's just a UNIX mach kernel based, X86_64/Intel operating system that uses UEFI instead of BIOS, and some hardware verification on boot.
Please oh, please, oh please, make my year by making Proxmox, TRULY the worlds best virtualization platform by adding OS X Guest support. I'm tempted to even pay someone to integrate the code for you if you'll just merge it into your product.
Most of the technical details, on how this can be done are laid out here:
http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/
And then additional updates, and information here:
http://blog.definedcode.com/osx-qemu-kvm
Thanks,
Jon Jewett
Systems Engineer
MacAuthority -- Simply Mac
First of all, I'd like to say I really, truly appreciate all the hard work that has gone into the Proxmox VE product. It is so incredibly valuable to have something of this caliber available for free (Support costs money, I get that, and it's a great business model).
The reason I'm bringing this issue up is that I'm a Systems Engineer by trade (I do Technical Consulting, Deployment, and Integration work for an Apple VAR & MSP business), and actually have a fair amount of engineering work subcontracted to me from Apple.
Not only am I an engineer by trade, but like many of you I suspect, it's my passion. My hobby. It's what I do, even when I'm not at work, just because it's fun. All that said, over the years as Apple's OS and software offerings in the enterprise I.T. market have become more and more "dumbed down", and less of a serious contender for space in a server room, I became very interested in Linux/UNIX, and especially open source software. I've also become a huge fan of virtualization (Proxmox being my hypervisor of choice).
What I, and many others I suspect DREAM of, is full Mac OS X Guest support in Proxmox. Because people working in I.T. with an Apple focused perspective like me, often NEED to architect solutions based on Linux, and virtualization in order to provide a rock solid, and affordable deployment. BUT, because of the Apple perspective, there's almost always a need for an "element" of OS X. Maybe just for a file share. Or caching of Apple Software Updates on the LAN, or to use their MDM Server. But it drives me crazy to have to deploy a silly little Mac Mini and go bare metal.
It seems EVERY time this is brought up, people cite Apple's EULA as if virtualizing OS X were a "no no". Ever since the introduction of Leopard Server (October of 2007) Apple has modified their EULA to allow some degree of virtualization. For Leopard and then Snow Leopard, the "Mac OS X Server" branch of the OS (it was a separate product/build of the OS back then) was opened up to allow for virtualization. 100% legal, and legit. Parallels even went so far as to develop a server product specifically for this. Parallels "Server for Mac", and later Parallels "Server for Mac Bare Metal" (going one step further and allowing a lightweight linux wrapper around their hypervisor alone. For whatever reason their overpriced, and not so stable product got discontinued.
With the release of Mac OS X Lion (July of 2011) the EULA was modified to allow for the virtualization of up to 2 additional copies of OS X legally for anyone who is running a legitimate copy of OS X. And, I really think this distinction is what caused a lot of confusion. People kept focusing on the language of "already running OS X", and deciding that it was only OK to virtualize OS X if you were currently booted to OS X. I don't think that's the case at all. It wasn't stated that clearly. I think their intent, was to say that, if you downloaded a hacked up torrent of OS X, and installed it on your fancy new Hackintosh you've built then no, of course you are braking the EULA. But I think they were simply trying to say that, if you are legally licensed to be using the OS (i.e. it came on the Mac you purchased), then you could fire up a hypervisor, and legally run a couple VM's with no additional licensing required.
Another reason I'll argue that it's OK to offer Mac OS X Guest support is that VMware has been doing it for YEARS. In the open. Listing the operating systems as having guest support, and several of Apple's computers (Xserves, Mac Pro's, and Mac Mini's) on their hardware compatibility list.
What I'm referring to is their flagship hypervisor (ESXi, and vSphere). These support Mac OS X Guests with no issue. They simply require that you being running ESXi/vSphere on Apple Hardware. That's been the rub all along. You don't have boot OS X, you just need to be using Apple hardware (which, if you look at the specs is just high quality, stylish X86_64 standard stuff).
VMWare, and Parallels in their products always implemented this simply by checking for the presences of Apple's AppleSMC (System Management Controller) and ASCII OSK0 & OSK1 strings/key values. Hackintosh projects often create false dummy hardware to trick the software into thinking they're seeing genuine Apple Hardware, and hacked torrents floating around out there that let you boot OS X from non Apple Hardware do so by "patching" the hypervisor, and disabling it's checking.
But it's not necessary to do any of that. Simply check for the AppleSMC, and OSK key values, and pass the hardware visibility to the guest so that OS X when booting can verify it as well and you're good to go. Parallels Server for Mac Bare Metal did this, and VMware's ESXi, and vSphere do this now. These are major commercial software virtualization vendors, who, incidentally also offer Parallels Desktop, and VMware's Fusion to personal computer user's wanting to run Windows on their Mac, and have retained their developer certification to continue doing so... even selling these products in Apple Stores because of their good relationship.
There was a time when implementing OS X Guest support would be a colossal feat of crude and illegal/un-ethical hacking. That simply is no longer the case.
You CAN offer OS X Guest Support while remaining fully EULA compliant, and if you were to do this, it would be HUGE a differentiator for your product. I would probably start getting it sold to ALL my corporate customers, WITH a support contract if it just offered this Guest support.
So... if your engineering resources are simply stretched too thin to implement something like this, and you think it would be a worthless feature, I can't really argue with you guys (you know your customers better than I), but please. Can we all stop saying it's too hard, or that it will break the EULA. KVM and QEMU updates recently have made this trivial. I wouldn't be surprised if it actually starts working sometime in the near future without you even noticing. It's just a UNIX mach kernel based, X86_64/Intel operating system that uses UEFI instead of BIOS, and some hardware verification on boot.
Please oh, please, oh please, make my year by making Proxmox, TRULY the worlds best virtualization platform by adding OS X Guest support. I'm tempted to even pay someone to integrate the code for you if you'll just merge it into your product.
Most of the technical details, on how this can be done are laid out here:
http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/
And then additional updates, and information here:
http://blog.definedcode.com/osx-qemu-kvm
Thanks,
Jon Jewett
Systems Engineer
MacAuthority -- Simply Mac