如何在最终图像中添加/包含更改的包? [Yocto项目]

时间:2018-01-05 06:35:32

标签: build yocto bitbake

我最近开始使用Yocto。我正在寻找包含/添加更改包到最终构建映像的选项。下面我描述了这个场景。

我正在研究RDK,它是基于yocto的STB(机顶盒)仿真器系统。我已经建立了一次完整的系统。现在我在某个特定的模块中进行了一些更改,看看它在构建/映像中的最终效果,我重建了那个特定的模块(此时我开始知道bitbake不像makefile实用程序那样工作,你做了更改和它会处理休息,你的包将被编译并包含在最终图像/二进制文件中),我使用bitbake -c cleansstate <module_name>,然后使用bitbake <module_name>来重建包。
接下来的事情是让它进入最终图像,但同样的事情我不得不再次经历痛苦,bitbake -c cleansstate <image_name>,然后bitbake <image_name>来重建图像。

基本上,只有一次更换包装并将其包含在最终图像中我再次创建完整的图像。
这是非常耗时的过程!
我想知道有什么方法可以减少这个构建时间并将更改的包包含到最终图像中吗?

注意:不寻找优化选项,我知道local.conf BB_NUMBER_THREADSPARALLEL_MAKE选项。它只是,我们可以将包添加到最终图像中,而不会像场景中所描述的那样为最终图像生成所有依赖关系。

2 个答案:

答案 0 :(得分:0)

假设通过“进行更改”意味着修改底层代码,我建议使用devtool modify - 这将为您可以进行更改的配方设置本地源代码树,并且每次进行更改时更改然后在配方上运行bitbake或依赖它的东西(例如你的图像)它将重建它,包括你的更改。基本步骤:

  1. devtool modify <recipe>
  2. 在已设置的源树中进行更改
  3. bitbake <recipe>bitbake <image>
  4. 测试结果;如果您需要进行进一步的更改,请循环回到第2步
  5. devtool finish <recipe>将您的更改写回作为配方的补丁

答案 1 :(得分:0)

meta/recipes-extended/myrecipe_0.0.1.bb上添加食谱后,我碰巧发现了 我能够使用命令

构建我的新配方
bitbake myrecipe

但运行

时,二进制文件从未包含在rootfs映像中
bitbake core-image-minimal

要将配方的输出添加到输出图像,我已将以下内容添加到$ {BUILDDIR} /conf/local.conf文件中:

IMAGE_INSTALL_append = " myrecipe"

在我的local.conf文件中。