You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AMD64环境交叉编译Ruby Debian包时pbuilder arm64构建报exec format error

问题解答

为什么文件系统创建阶段会运行/bin/true?

debootstrap在完成目标架构基础文件系统的初步部署后,会自动执行/bin/true作为环境可用性验证步骤:

  • 它用来确认chroot内的目标架构二进制文件能被当前宿主环境正确解释执行
  • 这是debootstrap内置的健康检查,确保后续的包安装、配置步骤能正常开展

错误原因及解决方法

你遇到的Exec format error,核心是binfmt_misc未正确配置,导致AMD64宿主无法识别并转译arm64架构的/bin/true二进制。具体解决步骤:

  • 手动注册qemu-arm64的binfmt规则:
    update-binfmts --enable qemu-aarch64
    
  • 确保Kubernetes特权Pod的配置满足:
    • 开启securityContext.privileged: true
    • 挂载/proc/sys/fs/binfmt_misc为可写路径(避免容器内无法修改binfmt规则)
  • 补充debootstrap参数,提前在chroot内安装目标架构的qemu静态二进制:
    pbuilder create --distribution focal --architecture arm64 --mirror http://ports.ubuntu.com/ubuntu-ports/ --debootstrapopts --include=qemu-user-static
    

内容的提问来源于stack exchange,提问作者xrl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 08:56:06