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

如何创建仅用于生成定制SDK的Yocto专属配方?

可行方案与示例

完全可以创建仅用于生成定制SDK的独立配方,无需关联完整镜像配方。核心思路是直接继承populate_sdk.bbclass,并通过专用变量指定SDK包含的组件,而非依赖IMAGE_INSTALL。

关键变量说明

不用IMAGE_INSTALL时,可通过以下变量定义SDK内容:

  • TOOLCHAIN_TARGET_TASK:指定SDK中针对目标硬件的库、头文件及运行时组件
  • TOOLCHAIN_HOST_TASK:指定SDK中运行在开发主机上的编译工具链组件(如交叉编译器、链接器等)
  • SDK_EXTRA_INSTALL:添加额外需要包含的目标端包,作为对前两者的补充

最小示例配方

创建recipes-core/images/my-custom-sdk.bb文件,内容如下:

# 基础配置
DESCRIPTION = "仅用于生成定制SDK的独立配方"
LICENSE = "MIT"

# 继承SDK生成类
inherit populate_sdk

# 指定目标机器(需与你的硬件配置匹配,比如qemux86-64)
MACHINE = "qemux86-64"

# 定义目标端需要的核心组件与库
TOOLCHAIN_TARGET_TASK = "\
    coreutils \
    glibc-dev \
    libstdc++-dev \
    openssl-dev \
    zlib-dev \
"

# 定义主机端工具链组件(默认已包含基础工具,可按需添加)
TOOLCHAIN_HOST_TASK = "\
    nativesdk-gcc \
    nativesdk-g++ \
    nativesdk-make \
"

# 添加额外需要的目标端包(可选)
SDK_EXTRA_INSTALL = "\
    curl-dev \
"

使用方法

  1. 将上述配方添加到你的Yocto层中(确保layer已在bblayers.conf中启用)
  2. 在构建环境中执行命令生成SDK:
bitbake -c populate_sdk my-custom-sdk

执行完成后,你会得到仅包含指定组件的定制SDK,无需构建完整镜像。

内容的提问来源于stack exchange,提问作者Georg P.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 05:15:31