Run Darwin programs on LinuxPPC?

Derrik Pates mol-general@lists.maconlinux.org
Mon, 15 Apr 2002 14:16:49 -0600


On Mon, Apr 15, 2002 at 08:22:10AM +0200, Matthias Urlichs wrote:
> Given that Linux supports multiple kernel personalities, it should be
> possible to write a kernel personality (and a Mach-O object loader) to
> make Darwin binaries run under LinuxPPC.

Well, that would make some of the really simple stuff
(command-line-only) work fine, most of that stuff isn't really very
interesting. The real problem is the Quartz display engine. I don't know
what kind of info is available on the Quartz display engine at a
protocol level, or how easy it would be to do something a'la Winelib, to
provide a (mostly) compatible implementation of Quartz for the GUI apps
to talk to. Plus, you'd still need either native or compatible libs for
Cocoa and Carbon dynamically-linked apps to link with.

> Some of the sytem calls are bound to be different (resource fork access,
> Mach message passing, ...) but I do wonder how far this could be
> stretched...

Well, it's not far from a standard BSD userspace-wise, from what I
understand, so that shouldn't be too big a leap, in theory. As I said
above, the GUI stuff would be a bigger job. Way bigger.

> So instead of running Mac OS X inside MOL, which seems somewhat difficult
> (memory management!), we could directly run the binaries. If that's too
> difficult for some reason, an alternate approach would be to recompile
> Darwin to run as a threaded Linux program, much like the Usermode Linux
> approach.

Why would it be more difficult to handle memory management? It all works
pretty much the same way at the system level, no matter what OS you're
running, so as long as you have the RAM to dedicate to the MoL session,
that shouldn't be a big issue.

-- 
Derrik Pates      |   Sysadmin, Douglas School   |    #linuxOS on EFnet
dpates@dsdk12.net |     District (dsdk12.net)    |    #linuxOS on OPN