在 git 下存储 BitBake 配置的正确方法是什么?

在 git 下存储 BitBake 配置的正确方法是什么?

在 git 中跟踪 bitbake 配置和使用的层的正确方法是什么?

答案1

这是我发现效果最好的:

  • 创建新的空 git 存储库,例如my-yocto在具有至少 50 GB 可用空间的驱动器上。
  • 添加狭隘的作为一个git 子模块my-yocto
git submodule add git://git.yoctoproject.org/poky.git
  • my-yocto根目录运行:
source poky/oe-init-build-env .

注意“。”在该命令中;初始化构建环境my-yocto而不是poky防止 Yocto GB 的临时文件在poky.

  • 该脚本将创建一个目录confmy-yocto其中包含一些文件; git-addconf/local.conf并添加conf/bblayers.conf到您的存储库中。
  • 默认情况下,yocto 使用绝对路径进行设置bblayers.conf,这意味着 Alice 设置的存储库无法在 Bob 的机器上运行。通过bblayers.conf使用 Yocto变量进行修改来修复此问题${TOPDIR}
(...)
BBLAYERS ?= " \
  ${TOPDIR}/poky/meta \
  ${TOPDIR}/poky/meta-poky \
  ${TOPDIR}/poky/meta-yocto-bsp \
(...)
  • 编辑local.conf到支持的平台,例如MACHINE=beaglebone-yocto

  • my-yocto,跑bitbake core-image-minimal。确保您的计算机通风良好并去远足。

如果有效,您可以通过添加 meta-openembedded 等作为子模块来构建其余的配置。我建议任何自定义层都与 git repos 不同my-yocto,这样my-yocto只包含 git 子模块详细信息和 bitbake 配置。

要在构建之前更新,请运行:

git pull
git submodule update --remote --recursive

其他用户克隆后需要运行git submodule init一次my-yocto

另外两个建议:

首先,如果您为多台计算机进行构建,请为每台计算机创建一个 local.conf,并创建从 local.conf 到特定于计算机的 conf 文件的符号链接。这允许您跟踪 中的多台机器my-yocto

其次,为每个 yocto 分支创建一个临时目录(例如tmp-zeustmp-dunfelltmp-gatesgarth),然后创建一个tmp指向您正在构建的分支的符号链接。 (不要将这些添加到 git 中。)Yocto 在目录中积累了大量数据tmp,并且需要您tmp在切换分支时进行清理。如果您迁移到较新的版本,那很好,但如果您在分支之间来回切换,那么丢失所有缓存的数据就很糟糕了。

相关内容