49 Comments

Summary:

Want to emulate an environment on your Mac? Want to emulate a platform on which to run Linux, BSD? VirtualPC or the some of the free software alternatives are great. Assuming what you want to run is an x86 based version. But what if you want to run OS X? or the PowerPC version of Darwin, Linux or BSD?

Throughout the course of my life I’ve had cause to have more than one machine available to me for my work. Not because I have more than one set of arms and eyes and amazing multi-tasking capabilities, but because vast quantities of my work generally involve setting up temporary environments, and even entire networks. I don’t want to set these up on the machines I use for everyday work. If I’m trying out a particularly nasty piece of beta software it could take me hours – even with regular backups – to get back online. Quite aside from the fact that sometimes I need my main machine available to write up and make notes on the temporary environment I’ve just created.

All this has meant that I’ve had to have multiple machines available to enable me to do my work. My home network contains more computers and computing power than many of my clients have spread among 10-15 people, but there’s just me in this office. Aside from the management perspective of a 20 machine network, the electricity costs are astronomical compared to just running a few desktops.

Then I discovered VMware on Linux. For those not familiar, VMware (which is available on Linux and Windows) is the same basic principle as VirtualPC (available for Mac OS/X and Windows) – it enables you to create virtual machines, including hard disks, networking and even audio and other device access – through which you can run another operating system.

For me it means that I can create a three machine network – one running Windows Server 2003, another Windows XP and another Linux for example – all within a single machine. Each virtual machine has its own entire environment; if the Windows XP machine needs to reboot, I can do so without affecting the others. Similarly crashes and other problems don’t affect the other virtual machines.

Now that’s great. I actually now use VMware, VirtualPC and Microsoft Virtual Server (a server specific version of VirtualPC) according to my needs and environment. All of them, conveniently, support the same target platform – Intel x86.

But what if I need to achieve the same on my Mac?

OK, 75% of you will have chimed in and said ‘VirtualPC is available for the Mac’. And you’d be right. 5 points.

For the 25% that see where I’m going with this, 10 points.

You see, as a Mac developer and system manager I’ve often had to create environments, test software and evaluate the results on the Mac platform. VirtualPC isn’t going to help me – it’s designed to emulate the Intel x86 platform and support x86 operating systems like Windows. In fact, VirtualPC – by its very name – is designed to emulate a PC on your Mac.

What’s surprising is how under-supported this kind of facility really is. I mean, VirtualPC and VMware have been around for years, why isn’t there an equivalent for the Mac/PowerPC platform?

It’s not technology that is the problem, in many ways the PowerPC platform should be easier to produce an equivalent for than a PowerPC environment. Instead, I suspect the problem is more to do with market forces.

Well PearPC does actually allow you to run PowerPC software on Macs, but it’s a relatively recent capability only made possible by the introduction of Mac OS X and an X server. Originally, PearPC was designed for Unix and Windows PCs run Mac software, it’s by pure coincidence that we’ve now got a working virtual machine emulator on the Mac that is capable of running Mac software. At the moment, PearPC is less than ideal on the Mac platform. The keyboard interface doesn’t seem to work right, and I haven’t yet been able to run a LinuxPPC installer (although booting works fine), but I’m sure these will be fixed in time. Performance is also an issue, although again that could be alleviated with more intensive work on the PowerPC platform.

Hopefully, we’ll see more interest the PowerPC virtual machine arena when the new dual-core PowerPC chips come on line. With the right software it would be possible make a really good virtual machine environment that could use the second core on the processor as the main CPU for the virtual machine. With a dual-CPU platform we could run two virtual machines.

Until then, if you have the time, why not devote some of it to PearPC?

Note: Dual-booting, by the way, isn’t a solution. With dual-booting I can only run one version of one operating system at a time. I can’t run OS X and LinuxPPC on the same machine simultaneously.

  1. If you could compile the Mac on Linux app (maconlinux.org) in OS X. It would be very similar to Vmware.

  2. There are lots of virtual machines for the Mac, but no full MacOS X one that really works. For the Mac Plus and 68K ones, though, for Classic apps, check out:

    http://emulation.victoly.com/macintosh/

  3. MacOnLinux may be able to run under OS X soon, according to their technical highlights. Not sure if they have G5 suppport, but I’ve seen it run very will under Linux.

    http://www.maconlinux.org/news.html

  4. Peter da Silva Sunday, April 10, 2005

    “But what if I need to achieve the same on my Mac?”

    You create a new account and run the test software on that.

    You type “ifconfig en whatever” and start a new instance of a daemon on that port.

    IT’S UNIX. IT’S MULTIUSER. IT DOESN”T NEED VIRTUAL MACHINE TECHNOLOGY.

  5. Peter: Using another user is fine for testing some software, on Mac OS X, but if the software installs global components, then it’s not a safe environment for testing.

    Also, creating another user wont let me test the latest Darwin release while I’m still running OS X. This is something I can do with VMware/VirtualPC.

  6. Out of curiosity, do you have any means of managing the VMWare environment from your Mac? Since there’s a Linux based version, it would make sense that it should be a fairly easy X11 port, but I haven’t been able to find anything on the subject. Otherwise, I guess it’s RDP to a VMWare host running Windows, but that’s not pretty since it would be better running off a Linux host OS.

    And I’m with you 100% on this gap in the OS X Software lineup. It’s nice that I have the flexibility to install test environments on a separate drive or partition and boot from there, but it’s also a pain if you need to have multiple environments running concurrently or at least have your personal work environment at the sale time.

  7. Well, as you say, with VMware being a X11 app it’s actually possible to view VMware hosts when running X11 under OS X.

    Alternatively you can RDC to a Windows host or use VNC on just about any host.

    However, this still means you are accessing an x86 based virtual machine; it’s no help whatever if you want to run PowerPC OS like OS X, Darwin, or Yellow Dog Linux.

  8. Scott: If you look at the date of the latest news on molonlinux.org you will see that its over a year it got posted. So I believe “soon” has diffrent meaning for diffrent people. =)

    But if you download the sourcecode snapshot it actually will both compile and install under Panther. But it wont run, I believe its because the missing kernelmodules.

    We will just have to wait and see, maybe “soon”! =)

  9. PearPC compiles quite nicely, initially, but OS X takes about 15 minutes to get no further than loading kernel modules, and the keyboard issue means that installing YDL or Debian doesn’t work…

  10. Oh yes – I agree that using X11 to view X86 VMWare instances from a Mac doesn’t solve the issue of an equivalent functionality capable of running an OS X environment. That was a side issue from my standpoint since I’ll be needing to do that fairly soon.

    And I would love to see both an OS X thin client solution (for OS X as the environnment being accessed) and for a true VM solution for OS X as well.

    Given that Apple controls the hardware layer of their PPC platform, it should be (reasonably) easy to be able to build the virtual hardware layer without too much trouble.

Comments have been disabled for this post