Yes, this works and is the easier of the two methods. Using a desktop OS and starting no Go compilers: 1. download the Go 1.6 binaries for your desktop OS and install them; set GOROOT_BOOTSTRAP to that directory (e.g. /usr/local/go) 2. copy the Go 1.6 sources (either the tar.gz or git clone of sources) to your desktop OS; set GOROOT to that directory (e.g. $HOME/go) 3. build the bootstrap for Plan 9 (i.e. go-plan9-386-bootstrap.tbz) on your desktop: $ cd $GOROOT/src $ GOOS=plan9 GOARCH=386 ./bootstrap.bash if all is well, this will produce ../../go-plan9-386-bootstrap.tbz 4. untar this in your Plan 9 environment and set GOROOT_BOOTSTRAP to that directory; e.g. drawterm from your desktop OS to Plan 9: % cd $home % bunzip2 -c /mnt/term/path-to-go-plan9-386-bootstrap.tbz | tar -xv % GOROOT_BOOTSTRAP=$home/go-plan9-386-bootstrap 5. copy Go 1.6 sources to your Plan 9 fs and set GOROOT to that directory; e.g. drawterm from your desktop OS to Plan 9: % mkdir $home/go % dircp /mnt/term/path-of-GOROOT-on-desktop $home/go % GOROOT=$home/go % cd $GOROOT/src % ./all.rc If you run Plan 9 in a VM, emulator or a confined device (RPi), it will be easier/faster to cross compile your app and copy it over. E.g. to compile for 9Pi: $ GOOS=plan9 GOARCH=arm go build -Skip On Mon, Apr 11, 2016 at 5:59 PM, Chris McGee wrote: > > > It may also be possible to cross compile a bootstrap of Go from > Linux/Mac/Windows using the bootstrap.sh script after setting GOOS=plan9, > GOARCH=386 and GO386=387. That bootstrap can be placed into plan9 and used > as the GOROOT_BOOTSTRAP to compile a full Go installation on the plan9 > system. > > >