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

Yocto编译输出目录的元数据配置位置咨询

Yocto build/tmp/work目录结构的配置逻辑

这些build/tmp/work下的子目录,是由构建系统的全局架构变量、TUNE配置、发行版标识等自动生成的,并非由单个软件包配方直接指定存放路径,核心逻辑如下:

1. 目录命名的核心变量

目录名称的组成依赖几个关键全局变量,这些变量在构建配置或元层配置中定义:

  • TARGET_SYS:目标系统标识,格式通常为${TUNE_PKGARCH}-${DISTRO}-${SDK_SYS_SUFFIX},比如armv7-neon-poky-linux-gnueabi
  • BUILD_SYS:构建主机的系统标识,比如x86_64-linux
  • MULTIMACH_TARGET_SYS:多架构场景下的目标系统标识,部分配方会用这个变量匹配通用架构(比如all-poky-linux对应不依赖特定架构的软件包)

2. 配方如何关联到对应目录

软件包配方通过继承的类和配置,自动适配到对应目录:

  • 大部分配方会继承base.bbclass或autotools.bbclass等基础类,这些类会自动使用TARGET_SYS等变量确定编译产物的存放路径
  • 如果是架构无关的软件包(比如纯脚本、配置文件),配方中会设置PACKAGE_ARCH = "all",这类包会存放在all-poky-linux这类通用目录下
  • 针对交叉编译的包,构建系统会根据TUNE_FEATURES(比如armv7neon)、TARGET_ARCH等参数,自动匹配到对应架构的目录

3. 核心配置文件的位置

  • 全局架构和TUNE配置主要定义在meta/conf/machine目录下的机器配置文件(比如qemuarm.conf),以及meta/conf/distro下的发行版配置文件(比如poky.conf)
  • 基础类的路径逻辑定义在meta/classes目录下的.bbclass文件中,比如base.bbclass包含了编译目录的生成逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:52:03