Repo 管理工程

本文档详细介绍了如何使用repo这个基于git的仓库管理工具来管理yocto工程中的多个BSP。从安装repo,创建manifest仓库,创建本地repo,到同步仓库的步骤都有详细说明,特别是如何配置default.xml文件来指定git仓库地址和克隆路径。通过repo,可以方便地管理yocto中的复杂依赖关系。

Repo 管理工程

关键词: yocto repo imx bsp git

repo是基于git的仓库管理工具,是一个python脚本程序。
repo不单单是用于Andoid,只要是多个git工程都能使用。

yocto工程中经常会涉及到多个git工程,
这里演示如何使用repo来管理yocto中的多个BSP。

主要内容:

  • 使用repo来管理yocto的多个BSP

文档参考:

最新文档 https://taotaodiy-linux.readthedocs.io/en/latest/env/repo.html

安装 repo

#install repo. This only needs to be done once.
mkdir ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

创建manifest仓库

我们创建一个仓库manifest,在仓库下面添加default.xml文件,
git仓库建立参考https://taotaodiy-linux.readthedocs.io/en/latest/env/git.html

文件包含如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <default sync-j="2"/>

  <remote fetch="git://git.yoctoproject.org" name="yocto"/>
  <remote fetch="git://github.com/Freescale" name="community"/>
  <remote fetch="git://github.com/openembedded" name="oe"/>
  <remote fetch="git://github.com/OSSystems" name="OSSystems"/>
  <remote fetch="git://github.com/meta-qt5"  name="QT5"/>
  <remote fetch="https://source.codeaurora.org/external/imx" name="CAF"/>


  <project remote="yocto" revision="c9bd4984f8f471ca2c43052714f4413ba99cf171" name="poky" path="sources/poky"/>
  <project remote="yocto" revision="27ca94f8a4336790ba117b4298566f6820e7e74c" name="meta-freescale" path="sources/meta-freescale"/>

  <project remote="oe" revision="8760facba1bceb299b3613b8955621ddaa3d4c3f" name="meta-openembedded" path="sources/meta-openembedded"/>

  <project remote="community" revision="70535e13dd2aabbad53243518f4cc5064d284592" name="fsl-community-bsp-base" path="sources/base">
    <linkfile dest="README" src="README"/>
    <linkfile dest="setup-environment" src="setup-environment"/>
  </project>

  <project remote="community" revision="82037216280a39957fb4272581637abec734ad50" name="meta-freescale-3rdparty" path="sources/meta-freescale-3rdparty"/>
  <project remote="community" revision="f7e2216e93aff14ac32728a13637a48df436b7f4" name="meta-freescale-distro" path="sources/meta-freescale-distro"/>

  <project remote="OSSystems" revision="75640e14e325479c076b6272b646be7a239c18aa" name="meta-browser" path="sources/meta-browser" />
  <project remote="QT5" revision="d4e7f73d04e8448d326b6f89908701e304e37d65" name="meta-qt5" path="sources/meta-qt5" />

  <project remote="CAF" revision="8eeb420fad668b733ab95b460895e1c337c66b25" name="meta-fsl-bsp-release" path="sources/meta-fsl-bsp-release" >
     <linkfile src="imx/tools/fsl-setup-release.sh" dest="fsl-setup-release.sh"/>
     <linkfile src="imx/README" dest="README-IMXBSP"/>
  </project>

</manifest>    

当然呢,你可以把里面的内容改成你自己的git仓库。

<remote fetch="git://git.yoctoproject.org" name="yocto"/>

就相当于给仓库地址 git://git.yoctoproject.org 一个别名 yocto

<project remote="yocto" revision="27ca94f8a4336790ba117b4298566f6820e7e74c" name="meta-freescale" path="sources/meta-freescale"/>

这句就是告诉我们repo,我们现在有一个git项目,地址在 git://git.yoctoproject.org/meta-freescale.git
SHA值为 27ca94f8a4336790ba117b4298566f6820e7e74c ,现在请帮我们克隆到 sources/meta-freescale 目录下。

manifest文件element请参考 https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md

创建本地repo

repo init -u + 上面的manifest仓库
repo init -u http://gitlab.ebf.local/qt_app/yocto_qt/ebf-yocto-6ul/manifest.git 

首先会创建 .repo 这个目录, 然后 Downloading Repo source from https://gerrit.googlesource.com/git-repo
随后 repo 就会去我们创建的仓库将default.xml获取

同步仓库

repo sync

最终repo按照我们上面写的default.xml克隆指定仓库到指定位置。
default.xml里面提到的BSP就是imx6u的yocto工程用到的BSP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪贪贪丶慎独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值