We can serve the root file system for NxM directly from Linux or OS X,
allowing access to the full Linux namespace during run-time.
For this, we use go9p. 

You need to have Go installed, e.g.

pacman -S go

apt-get install golang

You should now have things set up in /usr/lib/go.
To install new things, as a non-priveleged user,
you need a local place to build packages.

Set a GOPATH, e.g.
 $ export GOPATH=~/go:/usr/lib/go
 $ go get github.com/rminnich/go9p/ufs # fetches dependencies

This *should* work

 $ go install github.com/rminnich/go9p/ufs

ufs ends up in:

/home/rminnich/go/bin/ufs

You can now run ufs, specifying the appropriate root directory:

 $ sudo ~/go/bin/ufs -addr=:564 -root=whereever

Here is an example qemu command which some of us use:

A more complex usage (Ron's case) involves serving a root file system
to an NxM instance being run on an Arch virtual machine guest in
vmware fusion. That's not near as hard as it sounds. The OSX machine
is called rminnich-macbookair; the arch Linux guest VM is called arch.

On OSX, we start two commands:

$ ufs -addr:7777

$ ssh -R 564:rminnich-macbookair:7777 root@arch

This ssh command sets up a reverse proxy on the arch linux guest to
the ufs server running on OSX.  On arch linux, we run the qemu command
shown above. When we get the root is from prompt, we use the ip
address 10.0.2.2. That's it.
