First Psystar Mac Clones Ship
An anonymous reader writes "According to Gizmodo, Psystar has begun shipping its Macintosh clones, thus proving that the company is not a hoax. Initial impressions seem to be positive, though Software Update does not work."
Here's the relevant EULA excerpt: "You agree not to install, use or run the Apple Software on any non-Apple-labeled computer, or to enable others to do so."
Part of the hardcore faithful who believed in Apple long before it was cool again to do so
What "EFI layer"? Netkas's PC EFI is a marketing name that Netkas put on his branch of my branch of the Apple-supplied Darwin/x86 bootloader.
The only thing EFI about it is that he supplies some of the runtime services functions. I do this as well except in my version everything returns EFI_NOT_SUPPORTED. It is enough that the EFI system and runtime services tables exist and have halfway-valid information and that where a function pointer is expected that it point to some function. The implementation can be as simple as mov $EFI_NOT_SUPPORTED, %eax; ret.
Nothing bad happens when the runtime services functions do not exist. Even if the one for rebooting the system instead returns EFI_NOT_SUPPORTED the system will still reboot because Apple still has legacy code to do this without EFI runtime services.
The point of my booter is to allow Apple to focus on their own systems and to not maintain legacy code yet still continue to provide open source code that will work unmodified on non-Apple machines. The idea is that anyone can take the code they do release as Darwin and boot it unmodified on most PCs. As a side-effect anyone can also take the Apple-compiled binaries from OS X and do the same. That is, after all, the point of it.
Of course, what I provide does not enable you to run OS X. You still have to provide a decryption engine and decryption keys and I don't help with that. Nor does Netkas PC EFI since the decryption engine, as explained by Amit Singh, is in the "Dont Steal Mac OS X.kext"
None of this has anything to do with EFI. Once the kernel is going, EFI is gone except for two tables and a handful of runtime services functions.