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

Yocto开发镜像添加SD卡启动功能,如何区分生产镜像?

问题:为开发镜像添加SD卡启动功能(生产镜像不包含)

需求

为开发镜像添加SD卡启动功能,但该功能不能出现在生产镜像中。

已尝试的无效方案

方案1:自定义IMAGE_FEATURES

尝试将sd-card-boot作为自定义镜像特性添加到IMAGE_FEATURES,但Yocto不识别该特性。相关代码如下:

image.bb:

require base-image.bb
IMAGE_FEATURES:append = "sd-card-boot"

u-boot-distro-boot.bbappend:

SRC_URI:append:sd-card-boot = " \
    file://sd-card-boot/uEnv-sd-boot.txt.in \
"
do_compile:prepend:sd-card-boot() {
   cat ${WORKDIR}/uEnv-sd-card-boot.txt.in >> ${S}/uEnv.txt.in
}

方案2:其他变量传递尝试

在image.bb中尝试以下方式传递变量,均未生效:

export SD_CARD_BOOT = "1" # 变量未出现在环境中
DISTRO_FEATURES:append = " sd-card-boot " # 特性未被纳入发行版特性

需要找到一种从镜像文件向bbappend传递变量或配置的有效方法。


更新:临时可行但不够理想的解决方案

创建conf/distro/my-distro.conf:

# mydistro.conf
require conf/distro/supplier-distro.inc
SD_CARD_BOOT = "true"

修改配方文件:

do_compile:prepend:() {
   if [ "${SD_CARD_BOOT}" = "true" ]; then
      cat ${WORKDIR}/uEnv-sd-card-boot.txt.in >> ${S}/uEnv.txt.in
   fi
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:47:04