Mojopac on the Mac?

There’s a lot of interest in Mojopac at the moment – a piece of software which lets you carry a complete Windows environment around on an iPod or other storage device and use it – your entire Windows world, desktop, applications and all – on any XP PC you happen to plug it into, alongside the already-running OS. Here’s a video of it in use.

Part of the interest is that nobody seems to know quite how it works underneath. There’s a ‘How it works’ page on the website which really doesn’t tell you how it works at all. Is it a full virtual machine? That seems the most obvious, and if so, they’ve done quite a nice job of getting it to run without an installer.

But I’ve seen comments to the effect that there isn’t a copy of Windows in the Mojopac you carry around, which would suggest that it must be running the OS that’s on the host machine. So is it making use of Windows’ fast user-switching combined with some kind of chroot environment? The Windows registry tends not to be so easily switched around… Who knows…?

Anyway, I started wondering how easy this would be to do on a Mac. In one sense, Mac users have always had it easier because you can generally put applications anywhere and run them from anywhere. So if you keep your documents and your favourite apps on a portable drive you can plug it into any Mac and usually get a lot of work done. But it’s not your own environment; you’re running as somebody else unless you have a login on that machine, and things like your email configuration won’t be there. If you DO have a login on the machine then you can also get it to use the portable drive as your home directory, and your environment will then be there when you login, perhaps using the fast user switching on the Mac.

Or you can reboot and use what, for me, has always been one of the most valuable aspects of the Mac: its ability to boot and run entirely off external drives. That’s proved incredibly useful on a number of occasions, especially when my own machine has died and I’ve been able to borrow somebody else’s, use my whole world as normal, be upa and running again in a few minutes, and return the system untouched to its owner at a later date.

None of these is quite the ‘walk up to any machine’ scenario that Mojopac are claiming, though.

It did occur to me that I might put a copy of Parallels Desktop on a drive, along with a virtual machine image, and simply plug in the drive and double-click the image, at least on Intel machines. But, understandably, Parallels is one of the few things that really does require an installation, so unless it’s already present on the machine, this doesn’t work either. And besides, wonderful though Parallels is, the one operating system you can’t run under it is Mac OS X, so for the user experience would always be sub-optimal!

If my friends at XenSource have their way, virtualisation capabilities will soon be de rigueur on every OS; it’ll be something you switch on, rather than having to install. Most new Linux distributions have some support for Xen out of the box, for example, and I’m experimenting with it under Fedora Core 5 on one of my web servers, which now appears to the outside world to be 5 machines. Very neat. It’s going to be a while before Xen has anything like the ease of use of Mojopac or Parallels. We’re only just getting to the point where you can probably install it without recompiling your kernel.

But if the XenSource strategy of getting their Open Source core ubiquitously deployed on all x86 machines succeeds, then it’ll be much easier for people to create Mojopac-type systems in future. Until then, I take my hat off to the Mojopac guys, if it really works as advertised.

Got Something To Say:

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see


© Copyright Quentin Stafford-Fraser