|  | 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. |