Parallels is a paravirtualization product that allows one to run multiple operating systems next to each other in a partially emulated environment. For example, I have at my disposal the following on my Intel Mac:
To run Plan 9 successfully with Parallels there are certain settings you should pay attention to but if you make it look something like the image below you should be in pretty good shape.
Be careful to note that for some reason Plan 9 causes Parallels to crash when using VT-x (Intel's hardware hypervisor support in the Core Duo and Core Solo CPUs). I've not figured this out yet, Linux and Windows XP do ok with this on and actually run quite stably. For now make the Configuration page look something like the following. Be sure VT-x is unchecked!!!
The easiest way to proceed is to get the Plan 9 nightly CD image and to attach it to Paralles as the CDROM drive (no coaster necessary). Change the boot order boot from the CDROM first and then start the VM. Follow the rules for a normal Plan 9 installation.
The two things that took me some trial and error were the video and the mouse. The settings I ended up using were the following:
The scroll wheel, and all the buttons work properly with this configuration and I even have a screen that somewhat matches my cinema display ratio.
This requires a kernel patch because Parallels doesn't allow direct PCI scanning of the hardware. (QEMU doesn't have this problem, nor does VMWare apparently, however QEMU is a bit slow for day to day use IMO and VMWare is not yet available for Mac OS X)
For convenience purposes I've put the required files into an ISO image (thanks to jmk and lucho for helping out with this!!).
MD5 - 87fea1f82ca93336ed15bae80883d03b
To use this just configure parallels to use the ISO image as the CD drive and then mount it in Plan 9 using 9660srv and unpack the tgz file it contains in a directory and copy the files to /sys/src/9/pc.
All that's left to do is rebuild the kernel. The kernel mkfile is setup so that only the pcf kernel is going to pick up the new BIOS code. If you want to add the code to different kernel configurations you'll want to copy the bios32 line as is shown in the "pcf" configuration file that comes with the tarball.
Now that you have a kernel built you may want to set up your plan9.ini file with a boot menu. This is just in case the new kernel does something zany and you want your old behavior back (though you won't have networking).
I copied this new kernel to a new file to the 9fat partition of my Plan 9 installation. I suggest you do the same.
I made a plan 9 boot menu in plan9.ini like the following:
[menu] menuitem=parallels, Plan 9 with BIOS scanning for Parallels menudefault=default [default] bootfile=sdC0!9fat!9pcf [parallels] bootfile=sdC0!9fat!9pcf.par [common] bootargs=local!#S/sdC0/fossil bootdisk=local!#S/sdC0/fossil venti=#S/sdC0/arenas *nomp=1 *nodumpstack=1 partition=new dmamode=ask mouseport=ps2intellimouse monitor=vesa vgasize=1344x840x32
Finally just do an fshalt and reboot your Parallels PC. You should get a boot menu and be able to select your new kernel.
You should consult the Plan 9 wiki for network configuration. I did have to make a bit of a tweak to the script in /rc/bin/termrc to make the network come up correctly.
#if(! test -e /net/ipifc/0/ctl) ip/ipconfig -g 192.168.1.1 ether /net/ether0 192.168.1.130 255.255.255.0 >/dev/null >[2=1]