Help with Armbian


(Joe) #1

I am very new to Armbian and to Go. I have unpacked go1.13.1.linux-arm64.tar.gz into my /usr/local/go directory. When I type ./all/bash I get “./make.bash: line 159: /usr/local/bin/go: cannot execute binary file: Exec format error”

I am running Armbian Buster 4.19.y from https://www.armbian.com/orange-pi-pc/

Would appreciate any help. I am an absolute newbie at this.

(I may have figured it out that this is a 32 bit processor and I have to use a different version of go).


(Holloway) #2

can you do some data dump on terminal?

  1. $ uname -a
  2. $ cat /proc/cpuinfo

(Joe) #3

root@orangepipc:~# uname -a
Linux orangepipc 4.19.62-sunxi #5.92 SMP Wed Jul 31 22:07:23 CEST 2019 armv7l GNU/Linux
root@orangepipc:~# cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

processor : 1
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

processor : 2
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

processor : 3
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 22.85
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5

Hardware : Allwinner sun8i Family
Revision : 0000
Serial : 02c000816af6259


(Holloway) #4

This is Linux, 32-bit armv7 processor. If you’re developing your Go program on Armbian itself, you can try to install this version of Go on it (seek linux-armv6l):

  1. https://dl.google.com/go/go1.13.1.linux-armv6l.tar.gz

The setup procedure is the same. Try to compile a hello world app and run on it and reply the finding back here.


If the above still fails, then your only fallback is to cross-compile from other supported platform (e.g. linux-amd64 to linux/arm) then use that SBC as executing device only.

Cross-compiled executable does not need Go to be installed on the platform in order to run; itself is suffice to execute on target machine.