Meta-swupdate yocto gub 而不是 u-boot 引导加载程序

问题描述

我想在我的 yocto 构建框架中使用 swupdate 元层。见:https://github.com/sbabic/meta-swupdate 在我使用 bitbake swupdate 构建它之前,我使用 bitbake -c menuconfig swupdate 进行了一些配置,我可以在这里找到一些用于将引导加载程序从 u-boot 更改为 grub 的配置。 screenshot

每当我调用 bitbake swupdate 时,u-boot 正在构建的食谱... 如果我只启动 bitbake u-boot,我会收到一个错误

未找到配置文件“.config”!

但是没有选项bitbake -c menuconfig u-boot

我很困惑。是否有另一个 .config 文件用于 u-boot?

解决方法

如果我对 swupdate 配方的理解是正确的,DEPENDS 变量会根据 defconfig 或配置片段[1]。因此,为了从 SRC_URI 变量中移除 u-boot,需要将它从在配方工作目录中解压的 DEPENDS 中移除。运行 defconfig 任务可能还不够。可以通过运行 menuconfig 任务从 defconfig 中删除 U-Boot,从工作目录中获取结果 menuconfig 输出并将其添加到 defconfig 配方的 bbappend 中.

[1] https://github.com/sbabic/meta-swupdate/blob/master/recipes-support/swupdate/swupdate.inc#L90-L150