Jan 02

2024 更新:

最快的方法还是在虚拟机中交叉编译, 而且最新的 1.2x 版本如果在路由器编译会很容易内存溢出。

下载源码,解压后在 Alpine/Debian 虚拟机中执行:

cd /root/src/go/src
GOARCH=arm GOARM=5 GOOS=linux ./make.bash -v

完成后用 go/bin/linux_arm/ 下的文件替换 go/bin/ 下面的 go 和 gofmt 两个同名文件;删除 go/pkg/tool/linux_amd64 目录,然后打包:

cd ../bin
mv linux_arm/* ./
rm -rf linux_arm/
cd ../pkg
rm -rf tool/linux_amd64/
tar --numeric-owner -czf /root/src/go1.22.5.linux-armv7.tar.gz -C /root/src go

复制到路由器上:

rm -fr /mnt/data/go
tar -xzf /mnt/data/go1.22.5.linux-armv7.tar.gz -C /mnt/data
export PATH=/mnt/data/go/bin:$PATH
go version

------------------------------------------------------------------------------------------------------------------------------

可以不看

编译后的版本在 Tomato 这种老内核上运行没问题,支持(基于博通 BCM 4708/4709 的 Asus RT-AC68U/P/Netgear R7000/6300v2/6250/小米) 等路由器。

参考: How to compile Go on any ARM device




点击显示引用框
引用本文,复制粘贴...