loongson底层是mips架构,系统这里选择了移植ubuntu,一般的deb包上不了,所以从源代码开始编译go环境

一、在X86平台上交叉编译Go语言

找一台装有64位Linux的系统,这里我使用ubuntu 16的虚拟机进行操作

国内的下载地址

1、下载Go的二进制源码作为交叉编译的编译工具链,这里选择go1.4

2、配置交叉编译的编译工具链

3、下载Go1.12.9源代码

4、解压Go1.12.9源代码

5、进入go1.12.9解压目录进行交叉编译

然后这里出现了报错,但是根据我们上面看到的,已经设置了GOROOT_BOOTSTRAP指向了

没办法,只能把go1.4拷贝一份到这个目录下

同时删除未编译完成而生成的目录

再次进行交叉编译,编译时间会比较长,耐心等待就可以了

编译成功后会在/opt目录下生成一个go-linux-mips64le-bootstrap.tbz

二、在龙芯loongson平台上编译Go环境

先将go-linux-mips64le-bootstrap.tbz(上面编译好的包)放入loongson系统中

1、解压go-linux-mips64le-bootstrap.tbz

2、检查自举编译工具链是否可用

3、下载go1.12.9源代码,国内镜像地址如下

4、解压go1.12.9

5、切换到go1.12.9并创建环境变量

创建名为env.sh的shell脚本

在env.sh中加入下面的shell语句

6、执行env.sh,完成配置编译

7、首次编译,编译时间较长

编译成功会有如下显示

8、配置编译生成的go环境变量

向其中添加

然后更新环境变量

9、验证

返回如下信息