21 May 2016 Installing Plan 9 on Parallels Desktop VM.

So you've got yourself a Plan 9 ISO image from http://plan9.bell-labs.com/plan9/ and decided to try it out first in a virtual machine? Perhaps you also, like me, use Parallels Desktop as a OS X VM software of choice? And you created a new machine, plugged plan9.iso file into its' drive, started it and... nothing happened? Read on, then.

Tested against Parallels Desktop 11.2.

System creation

First you have to create a new VM. Use "Other/Other" as operating system and check the "Customize settings before installation" box. In the settings dialog, there are three things to change:

  • CPU & Memory->Memory to 1024MB. This is mostly because the hget command is, apparently, downloading whole files into RAM before flushing them to disk. You could possibly get away with less, but 512 wasn't enough, so I just went with 2x that.
  • Network->Advanced->NIC Type to "Realtek RTL8029AS".
  • CD/DVD->Advanced->Location to "SATA 0:1". It might tell you that the OS doesn't support SATA. Worry not and press "Yes".

After that, you can proceed to boot the machine.


You should be able follow the defaults (or whatever sensible settings you'd like) up until the configdist task. Do not let it use the default local setting. Instead, change it to net and configure the ether interface with dhcp. Let it try to download the distribution. It will probably fail with "null list in concatenation" error. Worry not.

Leave it like this for a moment and get back to your host system. You'll need to setup some kind of webserver to serve the plan9.iso here. I've used devd for this. Or it can be nginx, Python's SimpleHTTPServer or whatever you like.

Now get back to the virtual machine and open a new rc window.

Hint: This is done by holding the right mouse button, selecting "New" from the appeared menu and "drawing" a new window on the screen with right mouse button pressed.
In this new terminal, type (your.host.machine.ip should be changed to the IP your host has in the network created by Parallels driver):

mkdir /mnt/tmp
mount -c /srv/fossil /mnt/tmp
hget -o /mnt/tmp/plan9.iso http://your.host.machine.ip/plan9.iso

Then get back to the installer and continue with the standard procedure.

Note that so far I could not get the internet to actually work. The system gets IP, etc. correctly, the connection between host and guest works fine, still there's no internet.