Running Mac OS X Binaries With NetBSD
An anonymous reader writes "KernelTrap has an interesting article about an effort to add a Mach and Darwin binary compatibility layer to NetBSD. The project has evidently already made a fair amount of progress, currently working to stabilize the WindowServer emulation portion that will then allow NetBSD to run Mac OS X graphical applications."
to use this, since it is only binary compatability. So You will still need to buy PowerPC based computers. And who is one of the largest and most noted for selling powerPC based PCs... Apple Computer; so why not just run MacOS X?
I know you can buy third party PowerPC computer, but they are more expense than Apple's machines.
I do appricated their effort, it is probably a good exercise in programming skill.
It would be useful if it was on x86, but there are plenty of problems with that; see
http://www.emaculation.com/ppc.shtml
(This is not a flame, just an observation)
Accentuate the positive, don't waste your mod points on the negative.
What works?
On NetBSD/i386: nothing. On NetBSD/powerpc, most UNIX binaries, such as ls, sh, or vi will work. No Graphical User Interface (GUI) based program will work for now. We are able to startup WindowServer up to the first attemps to use the IOKit. See the kernel traces for WindowServer and for mach_init to discover how far we have been.
Here is what have been implemented so far:
Mach-O binaries loading
Mach system calls handling
Minimal Mach ports, messages and rights support, so that simple program are able to link and run.
Signals handling (except for siginfo) Minimal multithreading support
Support in ktrace/kdump to display Mach messages (useful for debugging)
Hacks to get mach_init starting (and to get it behaving as bootstrap mach_init)
Support for port rights carried by Mach messages
Here is what is in the TODO list:
Implement Mach notifications for destroyed ports, dead names, and no sender ports
Re-implement enough of Darwin's IOKit to get
WindowServer actually displaying something.
Use COMPAT_MACH for COMPAT_OSF1 (Tru64 binary emulation on NetBSD/alpha), to get multithreading working.
Get Darwin binaries to link and run on NetBSD/i386
Quite wrong. These guys are making a binary compatability layer, not emulation. You will not be able to run OS X applications on an x86 box running NetBSD, only a PPC box running NetBSD.
GNUStep allows for source-level compatibility. This is good for people who plan on targeting Mac OS X as well as Linux, but it's not good for people who want to run Mac OS X apps that run on Mac OS X but not on Linux, such as the Mac OS X window server and Finder. These applications would never be ported to GNUStep, as easy as it is, because Apple wouldn't do it. In addition, this should allow Carbon applications as well as Cocoa applications to run on NetBSD.
It does alredy exsist. It called Mac-On-Linux.
Umm.... you could just buy a Mac and VirtualPC, then install Xfree86 in rootless mode. Seems like a simpler means to the stated end, considering that a Mac running Mac OS X is a "unix box".
Most of Cocoa that doesn't deal directly with Darwin/OSX related functions is basically a strait reimplementation of OpenStep. IIRC the Building Cocoa Applications: A Step-byStep Guide by Simson Garfinkle and Mike Mahoney is pretty much code identical to what was in NeXTStep Programming: Step One: Object oriented Applications.
A GNUStep application if binary compatible with Mach/Darwin would run without recompilation or localization.
I'm a loner Dottie, a Rebel.
Besides the awful spallilng in this post, it is also wrong. The mailing list post referenced in the blurb is from 1/3/2003. Check the Google mailing list archive if you want. Who the hell modded this troll up? Check first.