구글의 go  언어는 c 처럼 컴파일되는 언어이고 범용으로 사용 하기 위해 만들어진 언어 입니다.

arm cpu 에서 동작되는 프로그램을 만든다면 당연히 크로스컴파일러가 있어야 겠지요.


go git 클론을 만듭니다.

sst]#hg clone http://code.google.com/p/go

→ 한참 걸림.


설치 합니다.

sst]# cd go/src

sst]#./all.bash

→ go 컴파일러 모든 기능을 설치 하는 듯.

그럼 마지막에 아래와 같은 메시지가 나온다.

Installed Go for linux/amd64 in /staff/go/go_cross/go

Installed commands in /staff/go/go_cross/go/bin

*** You need to add /staff/go/go_cross/go/bin to your PATH.

위 경로를 아래와같이 path 에 추가 합니다.

]# vi ~/.bashrc

PATH=$PATH:/staff/go/go_cross/go/bin


설치된 곳으로 이동합니다.

root@r2adve:golang-crosscompile-master]# pwd

/staff/go/go_cross/golang-crosscompile-master


crosscompile.bash 를 실행 해 줍니다.
root@r2adve:golang-crosscompile-master]# source crosscompile.bash 

이제 컴파일러가 잘 설치 되었는지 확인 해 보겠습니다.
root@r2adve:golang-crosscompile-master]# go
go                         go-freebsd-arm             gofmt
go-all                     go-linux-386               golang-go
go-build-all               go-linux-amd64             gold
go-crosscompile-build      go-linux-arm               google-chrome
go-crosscompile-build-all  go-openbsd-386             google-chrome-stable
go-darwin-386              go-openbsd-amd64           google-earth
go-darwin-amd64            go-windows-386             gouldtoppm
go-freebsd-386             go-windows-amd64           
go-freebsd-amd64           gobject-query              
root@r2adve:golang-crosscompile-master]# go

-->go-linux-arm이 설치 된 것이 확인 되었습니다.

예제를 하나 컴파일 해 보겠습니다.
root@r2adve:test]# go-linux-arm build hellow.go 

root@r2adve:test]# 

root@r2adve:test]# ls

hellow  hellow.go  var.go

root@r2adve:test]# 


크로스컴파일된 hellow 파일이 보이는 군요.

이  실행 파일을 em-s5pv210 모듈에서 실행해 보니 잘 동작 되었습니다.