最近在之前的旧手机上用 Linux deploy 部署了一个 ubuntu,并使用 VNC+Xfce4 搭建了轻量级的桌面环境。本次尝试将 Golang 编译器安装在 ARM 平台。

由于 Golang 自 1.5 版本之后就完成了自举,所以可以用 golang 本身来编译 golang 的编译器。

本次编译采用交叉编译的方式,即在 Windows 平台上编译,后上传至目标系统。编译速度由编译平台的配置决定。(由于旧手机配置较低,编译时间较长,所以采用交叉编译的方式)

本次目标平台的 CPU 架构为 ARMv7l(armhfp)。

# 开始编译

我的电脑上已经安装 1.15 版本的 goalng 环境,所以本次不需要安装低版本的编译环境。

# 获取 Golang 源码

我们可以从 golang 的 github 主页下载 golang 编译器的源码。使用 git clone 到本地。

h
git clone https://github.com/golang/go.git

# 开始编译

golang 源码中已经包含了编译脚本,首先先设置编译的环境变量。

h
set GOOS=linux
set GOARCH=arm

设置完成后使用 go env 查看环境变量。

然后进入 src 目录,执行 all.bat 文件。执行后提示如下:

根目录没有版本信息文件,所以无法编译。于是我们到根目录下新建文件,命名为 VERSION,文件内容填写版本号,比如:go1.16beta1

再次尝试编译,没有报错。

# 上传并配置环境变量

压缩后,使用 rz 命令上传到目标系统上,并解压到 /usr/local 中。

配置环境变量:

h
vim /etc/profile
// 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
// wq保存退出后source一下
source /etc/profile

然后执行 go version 出现下图所示,安装完成。

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

HuaYu 微信支付

微信支付

HuaYu 支付宝

支付宝

HuaYu 贝宝

贝宝