posts projects about

Параметры кросс-компиляции Golang для Raspberry Pi

16 февраля 2017 г. golang raspberry_pi

Чтобы скомпилировать исходники на go и потом запустить полученный бинарник на raspberry pi, нужно выставить определенные env-переменные перед компиляцией.

Для разных версий Raspberry Pi нужно указывать разные версии ARM. Узнать какой именно нужно можно в /proc/cpuinfo:

$cat /proc/cpuinfo
Processor	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 697.95
Features	: swp half thumb fastmult vfp edsp java tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7

Hardware	: BCM2708
Revision	: 000f
Serial		: 00000000aa0b36f1

В данном случае процессор ARM версии 6. И параметры компиляции будут такие:

$GOOS=linux GOARCH=arm GOARM=6 go build