Fixes #s
[akaros.git] / Documentation / Go
1 git clone ssh://akaros.cs.berkeley.edu/srv/git/go.git
2
3 Idiocy: seem to need +x on local.bash *AND* it needs to be in your path.
4
5 After you have downloaded the GO repo, you need to modify
6 $GOROOT/src/local.bash to set up your $ROSROOT and $GOBIN directories
7 as well as select whether you are building GO for the 386 architecture
8 or amd64. After you have set this up, simply run ./akaros.bash from
9 the $GOROOT/src/ directory to build and install GO for Akaros.
10
11 Assuming you have $GOBIN in your PATH, you should now be able to run
12 the command go-akaros-$ARCH, where $ARCH is one of either 386 or
13 amd64, depending on which architecture you chose to build for.
14
15 In order to build some example programs as well as the full GO test
16 suite for Akaros, go to $GOROOT/examples and run the ./examples.bash
17 script to see a list of build and install options.  Any example
18 programs or tests that are built using this script are installed into
19 a $GOROOT/examples/kfs directory, which you can direct Akaros to
20 include in its KFS path (see the instructions in the GETTING_STARTED
21 document in the Akaros source tree to see how to do this).  When
22 installing tests from the GO test suite, a convenience script is
23 installed into kfs/bin/gotests.sh so that you can simply launch this
24 script to run any installed tests back to back.
25
26
27 How Ron built it.
28
29 My local.bash
30 export ROSROOT="$HOME/akaros"
31 export GOBIN="$HOME/go-install"
32 export GOOS=akaros
33 export GOARCH=amd64
34 export TARGETCC=x86_64-ros-gcc
35 export TARGETCXX=x86_64-ros-g++
36
37 And in my shell:
38 export GOPATH=/home/rminnich/install/go-install/
39 export GOROOT=/home/rminnich/go
40
41 local.bash has to be +x
42 chmod +x local.bash
43
44 Stupidly, ubuntu bash want files you source in $PATH!
45 PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/core_perl:/usr/local/plan9/bin:/usr/local/src/depot_tools/
46 :/home/rminnich/install/go-install/
47
48 PATH=$PATH:~/ros-gcc-glibc/install-x86_64-ros-gcc/bin/:`pwd`
49 sh akaros.bash 
50
51 Build tests
52 cd ../go-akaros/examples/
53 PATH=$PATH:~/go-install/
54 GOROOT=~/go-akaros/
55 ./examples.bash -t all
56
57 How Ron runs it from the 9p mount point. 
58 Start go9p on another terminal/host:
59 ./go9p -addr=:1025 -root=/usr/local/crouton/drinkcat-chroagh-6b888af/chroots/arch/home/rminnich/
60
61 Note the root can be anything. I made it my ~ so I have less typing to do.
62 The script, when it runs, probably wants things in /; maybe I was missing some environment
63 variable, so:
64 mkdir /gotests
65 cp -r /mnt/go-akaros/examples/kfs/gotests / 
66
67 Now you can run the tests.
68 ash /mnt/go-akaros/examples/kfs/bin/gotests.sh 
69
70 These are running in kfs.