Yocto dunfell集成meta-wandboard-ap时No recipes available报错如何解决
报错触发原因
- 核心错误
No recipes available for linux-firmware_git.bbappend的触发逻辑是:Yocto的.bbappend文件必须和对应基础.bb配方的前缀+版本命名完全匹配才能被正常加载。你使用的dunfell分支中,linux-firmware的官方配方已经不再使用_git版本后缀,而是采用具体版本号命名(例如linux-firmware_20200122.bb),meta-wandboard-ap层提供的linux-firmware_git.bbappend找不到对应的linux-firmware_git.bb基础配方,因此bitbake抛出该错误。 - 附带的两个警告是因为meta-wandboard-ap层的
conf/layer.conf中未声明兼容的Yocto版本系列,bitbake无法确认该层是否适配当前使用的dunfell分支。
修复配置方案
1. 修复bbappend文件匹配问题
将meta-wandboard-ap/recipes-kernel/linux-firmware/目录下的linux-firmware_git.bbappend重命名为linux-firmware_%.bbappend,其中%是Yocto配方匹配通配符,可以适配任意版本的linux-firmware基础配方。
2. 修复层兼容性警告
编辑meta-wandboard-ap/conf/layer.conf文件,添加如下配置声明该层兼容dunfell版本:
LAYERSERIES_COMPAT_wandboard-ap = "dunfell"
如果该层同时适配其他Yocto版本,可在引号内用空格分隔添加对应版本名。
3. 修复bbappend内置笔误
注意:你提供的linux-firmware_git.bbappend最后一行存在配置笔误,会导致后续bcm4330固件的AP模式切换不生效,需要修改:
原错误配置:
ALTERNATIVE_PRIORITY_linux-firmware-bcm4329[brcmfmac4330-sdio.bin] = "90"
修改为:
ALTERNATIVE_PRIORITY_linux-firmware-bcm4330[brcmfmac4330-sdio.bin] = "90"
4. 重新触发构建
所有修改完成后,执行如下命令清理缓存并重新构建镜像即可:
bitbake -c cleansstate linux-firmware bitbake core-image-minimal
内容的提问来源于stack exchange,提问作者Sami
相关产品推荐
相关产品推荐

