I'm trying to run an ARM64 binary on my RP4 with arm_64bit enabled in /boot/config.txt. I get an error: No such file or directory.
Running file cloudflared-linux-arm64 I get:
cloudflared-linux-arm64: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0 [truncated]
So the architecture is aarch64. Then I make sure this matches my system:
Linux <hostname> 5.10.17-v8+ #1403 SMP PREEMPT Mon Feb 22 11:37:54 GMT 2021 aarch64 GNU/Linux
So, it looks like they match. Then I run ldd:
$ ldd cloudflared-linux-arm64
not a dynamic executable
I think the problem is that the output of file says it wants to use the /lib/ld-linux-aarch64.so.1 interpreter, but that doesn't exist on my RP4. This is what I have:
ls /lib/ld-*
/lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3
Does anyone know how to run binaries targeted for ARM64? This particular binary was compiled from Go, if that's helpful.