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

Yocto Scarthgap版本meta-raspberrypi层兼容问题及BSP构建求助

问题描述

我下载了meta-raspberrypi层并切换到Scarthgap分支(LTS版本):

meta-raspberrypi(folder)$git branch -r 
... 
origin/scarthgap 
...
meta-raspberrypi(folder)$git checkout -b scarthgap //set branch scarthgap

随后遵循官方快速开始指南操作,下载Yocto poky并切换到Scarthgap分支,执行以下命令初始化构建环境:

poky(folder)$ source oe-init-build-env ../rpi-build
../rpi-build$

尝试添加meta-raspberrypi层时失败:

rpi-build$ bitbake-layers add-layer ~/workspace/yocto/meta-raspberrypi/
NOTE: Starting bitbake server...
ERROR: Layer raspberrypi is not compatible with the core layer which only supports these series: scarthgap (layer is compatible with walnascar styhead)
ERROR: Parse failure with the specified layer added, exiting.

手动修改bblayers.conf添加该层后,执行bitbake core-image-minimal仍报错:

Parsing of 958 .bb files complete (0 cached, 958 parsed). 1914 targets, 72 skipped, 0 masked, 0 errors.
ERROR: No recipes in default available for:
  /home/daniel/workspace/yocto/meta-raspberrypi/recipes-graphics/mesa/mesa-gl.bbappend
  /home/daniel/workspace/yocto/meta-raspberrypi/recipes-graphics/mesa/mesa.bbappend

作为Yocto新手,请问操作有误吗?或者如何使用Yocto Scarthgap构建树莓派BSP?


解决方案

1. 修正meta-raspberrypi分支兼容性问题

报错显示meta-raspberrypi层仅兼容walnascar/styhead版本,说明你本地的scarthgap分支内容未适配Yocto Scarthgap,按以下步骤修正:

  • 进入meta-raspberrypi目录,拉取最新远程分支代码:
    cd ~/workspace/yocto/meta-raspberrypi
    git fetch origin
    
  • 重新基于远程scarthgap分支创建本地分支(覆盖旧分支):
    git checkout -B scarthgap origin/scarthgap
    
  • 检查conf/layer.conf文件中的兼容性配置,确认LAYERSERIES_COMPAT_raspberrypi字段包含scarthgap:
    grep LAYERSERIES_COMPAT_raspberrypi conf/layer.conf
    
    正常输出应为LAYERSERIES_COMPAT_raspberrypi = "scarthgap"或包含该值;若仍显示旧版本代号,说明该分支暂未适配,可尝试使用meta-raspberrypi的master分支(需确认master是否兼容Scarthgap),或等待官方更新scarthgap分支。

2. 解决mesa bbappend找不到recipe的问题

meta-raspberrypi依赖meta-openembedded的多个子层,缺少这些层会导致bbappend文件找不到对应主recipe,按以下步骤添加:

  • 下载meta-openembedded仓库并切换到Scarthgap分支:
    cd ~/workspace/yocto
    git clone https://git.openembedded.org/meta-openembedded
    cd meta-openembedded
    git checkout scarthgap
    
  • 在构建目录中添加必要的依赖层:
    cd ~/workspace/yocto/rpi-build
    bitbake-layers add-layer ~/workspace/yocto/meta-openembedded/meta-oe
    bitbake-layers add-layer ~/workspace/yocto/meta-openembedded/meta-multimedia
    bitbake-layers add-layer ~/workspace/yocto/meta-openembedded/meta-networking
    
  • 重新执行构建命令:
    bitbake core-image-minimal
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:31:00