blob: 3c9fd12b09ecf9e6f4e81c2440e5e59751d3da98 [file] [log] [blame]
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.