ARM平台执行程序报错”Illegal instruction”解析¶
我在 微型k3s部署 时遇到运行 k3s
二进制ARM程序报错:
Illegal instruction
虽然k3s官方提供的二进制代码是 armhf
架构,看上去和我 树莓派一代 所使用的 Alpine Linux armhf
版本匹配,但是实际上还可能有潜在问题:
Alpine Linux 使用
musl
库,非标准glibc库,可能在执行二进制上存在差异。毕竟很多第三方应用程序都是在比较通用的ubuntu/fedora上编译的参考 Debian Wiki: ArmHardFloatPort
hard-float ABI Arm port (armhf) for Debian
文档中说明:
看来,不能直接使用 k3s
官方二进制程序在 树莓派一代 上部署 K3s - 轻量级Kubernetes ,需要自己编译 32位 k3s for ARMv6
来实现部署,待实践…