Installing Plan 9 in a VirtualBox
-as of Mon Mar 11 14:32:25 EDT 2013-
See also: installing plan 9 on qemu, installing in xen, installing in xen 3.0.
Below are a few reports of an installation that worked. For people who are attached to VirtualBox for one reason or another, it might be useful to produce a table of "Plan 9 release date / VBox version / host OS version" tuples with a brief description of the results or configuration needed. Submissions from users are hereby solicited.
From Richard Miller on 9fans, 2013-03-11:
Bell Labs Plan 9 and networking works well in virtualbox 3.1.8 using Am79C973 virtual ethernet adapter in bridged mode, chipset PIIX3 selected and "Enable IO APIC" turned off. (Maybe not the only usable settings but these work for me.)
Under Virtual Box 3.0, selecting the ICH6 chipset rather than PIIX3 or PIIX4, and deselecting all disks allows 9pccpu to run. AMD79C970 Ethernet PXE boots reliably but the Intel Ethernet emulations don't.
I used a VirtualBox-4.1.10 for my installation on a Gentoo Linux host, to get a first look into plan9.
The basic installation works out of the box, simply creating a VirtualBox System of type "Other", choosing a tiny splitter of memory (512M) and a little disk to hold the system (2G), which I decided to reside as a fixed size image.
(Maybe I will do a video on howto setup that VirtualBox image, later).
ODDS AND ENDS
Actually setting up a plan9 from the latest iso from the Download Page was quite simple.
- You have to choose an IDE Controller (which is the default) with the VDI (VirtualBox Disk Image) as
IDE Controller IDE Primary Master: plan 9.vdi (Normal, 2,00 GB)
- And you use the unpacked and downloaded ISO Image as Secondary Master
IDE Secondary Master (CD/DVD): plan9.iso (277,21 MB)
- I leave it to you to figure out and continue the installation process, after booting the System and choosing to Install the Plan9 System, as most things just work as default or are documented somewhere else ... until
- This one: It took me over a day of sweat, blood and tears to get the network running. Actually the PCNet adapters don't seem to work at all. I found just this one Network setting to be good:
Adapter 1: Intel PRO/1000 MT Server (Bridged adapter, eth0)
where the `MT Server' version is absolutely essential, as the MT Desktop version does not work!
- After using ipconfig(8) the dhcp of my router box gave me a valid IP in the local network and provided the plan9 client system with valid DNS Servers in
cat /net/ndb ip=192.168.122.6 ipmask=255.255.255.0 ipgw=192.168.122.254 sys=gnot dns=192.168.1.3 dns=192.168.1.9
- I made that settings boot save by uncommenting the dedicated (ip/ipconfig) lines in
/bin/termrc
That's it folks. Let the games begin!
TO SETUP A CUSTOM VIDEO MODE
VirtualBox provides a vesa display emulation to control video modes of the guest. You might observe, that your (modern) monitors resolution, i.e. 1680x1050x32 or 1920x1080x32, as in my case, are not supported.
These are not originally vesa modes, which is a quite old standard.
Luckily you are able to tune your host system to provide extended vesa modes for the guest. The method is described in the VirtualBox manual, in the section “Custom Vesa Resolutions”.
All you have to do is to set your custom modes as extradata options:
VirtualBox setextradata "VM name" "CustomVideoMode1" "1920x1080x32" VirtualBox setextradata "VM name" "CustomVideoMode2" "1680x1050x32" VirtualBox setextradata "VM name" "CustomVideoMode3" "960x1080x32"