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

构建Yocto时如何仅指定单个layer为debug版本其余为release版本

仅对单个Yocto Layer设置Debug构建的方法

你之前的配置会全局生效,是因为直接在公共配置文件中添加了无作用域限制的全局变量,所有层的Recipe都会继承这些配置。按如下步骤修改即可仅对指定层生效:

  • 首先确认你需要设置Debug的目标层名称,假设目标层名称为meta-custom,所有该层下的Recipe都会匹配layer_meta-custom这个作用域标识符
  • 打开你项目的conf/local.conf文件(不要直接修改官方meta层的配置文件避免污染全局配置),替换你之前添加的全局配置为如下带作用域限制的配置:
# 仅对meta-custom层启用Debug构建相关配置
INHIBIT_PACKAGE_DEBUG_SPLIT:layer_meta-custom = "1"
INHIBIT_PACKAGE_STRIP:layer_meta-custom = "1"
DEBUG_BUILD:layer_meta-custom = "1"
  • 如果你之前添加的EXTRA_IMAGE_FEATURES_append = " dbg-pkgs"仅为了获取该层的Debug包,可以直接删除这行配置,开启Debug的层对应包的调试符号会自动随主包生成,不需要全局开启所有包的Debug镜像特性。如果确实需要全局保留该特性可以继续保留。

验证方式

构建完成后可以执行如下检查确认配置生效:

  1. 对目标层生成的二进制文件执行file命令,可以看到输出中包含not stripped标识,说明未被裁剪调试符号
  2. 对其他层生成的二进制文件执行file命令,可以看到输出中包含stripped标识,说明是正常Release版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:39:02