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

如何在单台Linux电脑上构建x86_64与aarch64架构的Yocto SDK?

在x86_64 Linux上交叉构建aarch64架构Yocto SDK的方案

核心思路

Yocto原生支持构建与构建机架构不同的宿主SDK——即SDK本身运行的架构为aarch64,而非构建机的x86_64。只需通过配置指定SDK宿主架构,即可在x86_64机器上完成交叉构建,无需依赖M1 Mac环境或QEMU转译。

具体操作步骤

1. 创建独立构建目录(推荐)

为避免与现有x86_64 SDK构建环境冲突,新建并进入单独的构建目录:

mkdir -p build-aarch64-sdk && cd build-aarch64-sdk
source ../poky/oe-init-build-env .

2. 配置local.conf

在构建目录的conf/local.conf中添加或修改以下参数:

  • 指定SDK的宿主架构为aarch64:
    SDKMACHINE = "aarch64"
    
  • 设定目标硬件架构(根据你的实际产品需求调整,例如qemuarm64或自定义aarch64机器配置):
    MACHINE = "your-aarch64-target-machine"
    
  • 明确SDK架构标识:
    SDK_ARCH = "aarch64"
    

3. 执行SDK构建

运行标准的populate_sdk命令,Yocto会自动处理交叉构建流程:

bitbake <your-target-image> -c populate_sdk

构建完成后,tmp/deploy/sdk/目录下会生成后缀为-aarch64-toolchain-*.sh的安装包,该包可直接在ARM Mac的标准容器中运行,架构完全匹配。

额外说明

  • 无需维护两套Yocto环境:所有构建工作都在x86_64 Linux机器上完成,通过不同构建目录的配置区分x86_64和aarch64 SDK的构建。
  • 容器兼容性:生成的aarch64 SDK不需要QEMU转译,直接适配ARM Mac容器环境,解决架构不匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:52:46