Last active
October 9, 2020 21:52
-
-
Save robertely/64fc0fc61641a47ce85323803dc03fe3 to your computer and use it in GitHub Desktop.
Bash script for building golang 1.8 for the NTC CHIP, or any other arm 7 device.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
####################### | |
# Downloads and builds golang. | |
# Does not install godoc, you may want to `go get` that after install. | |
# To install: | |
# sudo tar -C /usr/local -xzfv go1.8.linux-arm7.tar.gz | |
# export PATH=$PATH:/usr/local/go/bin | |
# If you are on a CHIP Pro and don't have room for the archive and it's contents: | |
# cat go1.8.linux-arm7.tar.gz | ssh -t [email protected] "tar xzfv - -C ~/" | |
# login and move ~/go to /usr/local/ | |
REPO="https://go.googlesource.com/go" | |
BRANCH="go1.8" | |
_GOBIN="$(which go)" | |
export GOROOT_BOOTSTRAP="$(readlink -f ${_GOBIN}|sed 's/bin\/go//g')" | |
export GOOS="linux" # Target OS | |
export GOARCH="arm" # Target arch | |
export GOARM="7" # Target Floating point version (VFPv3) | |
export GOROOT_FINAL="/usr/local/go/" | |
export GO_BUILDROOT="$BRANCH.$GOOS-$GOARCH$GOARM" | |
echo | |
echo "#######################" | |
echo "# Options" | |
echo "#######################" | |
printenv|grep GO | |
if [ ! -d "go/" ]; then | |
echo | |
echo "#######################" | |
echo "# Fetching go src" | |
echo "#######################" | |
git clone ${REPO} | |
fi | |
echo | |
echo "#######################" | |
echo "# Verifying branch" | |
echo "#######################" | |
cd go | |
git checkout $BRANCH | |
cd src | |
echo | |
echo "#######################" | |
echo "# Building go" | |
echo "#######################" | |
# Build golang | |
./make.bash | |
cd ../../ | |
echo | |
echo "#######################" | |
echo "# Setting up buildroot" | |
echo "#######################" | |
if [ ! -d $GO_BUILDROOT/go/ ]; then | |
mkdir -p $GO_BUILDROOT/go/api | |
mkdir -p $GO_BUILDROOT/go/bin | |
# mkdir -p $GO_BUILDROOT/go/blog # No. | |
mkdir -p $GO_BUILDROOT/go/doc | |
mkdir -p $GO_BUILDROOT/go/lib | |
mkdir -p $GO_BUILDROOT/go/misc | |
mkdir -p $GO_BUILDROOT/go/pkg | |
mkdir -p $GO_BUILDROOT/go/src | |
mkdir -p $GO_BUILDROOT/go/test | |
fi | |
rsync -av --progress go/api $GO_BUILDROOT/go/ | |
rsync -av --progress go/doc $GO_BUILDROOT/go/ | |
rsync -av --progress go/lib $GO_BUILDROOT/go/ | |
rsync -av --progress go/misc $GO_BUILDROOT/go/ | |
rsync -av --progress go/test $GO_BUILDROOT/go/ | |
rsync -av --progress go/src $GO_BUILDROOT/go/ | |
rsync -av --progress go/pkg $GO_BUILDROOT/go/ --exclude '*linux_amd64*' --exclude '*bootstrap*' | |
rsync -av --progress go/bin/linux_arm/ $GO_BUILDROOT/go/bin/ | |
rsync -av --progress go/{AUTHORS,CONTRIBUTORS,CONTRIBUTING.md,favicon.ico,LICENSE,PATENTS,README.md,robots.txt,VERSION} $GO_BUILDROOT/go/ | |
echo | |
echo "#######################" | |
echo "# Building Archive" | |
echo "#######################" | |
tar -czvf $GO_BUILDROOT.tar.gz -C $GO_BUILDROOT go/ | |
echo "Done." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment