DEY All In One项目旨在帮助客户快速开发定制基于ConnectCore片上系统核心模块的产品的Linux固件。虽然Digi官方提供有预编译的Linux固件,能满足大部分场景的需求。但对于深度定制的情况下,需要把自定义的软件包和程序,自定义的设备树和开机自启动服务,预定义的配置文件等都集成到固件中,真正实现一键编译完成所有功能。DEY All In One就是这样的使用场景的一个实例。

首先查看一下当前项目的dey-aio-manifest所用的分支或版本,

cd .repo/manifests
git remote show origin

其中, Local branch configured for 'git pull'下有一个记录显示分支,比如下面这是kirkstone分支

  Local branch configured for 'git pull':
    default merges with remote kirkstone

查看当初 repo init 使用的是哪个XML文件

cd .repo
cat .repo/manifest.xml

比如:

<manifest>
  <include name="default.xml" />
</manifest>

综合起来,当前init时的指令就是:repo init -u https://github.com/peyoot/dey-aio-manifest.git -b main 它使用默认的default.xml

切换操作

repo init 拉取的 manifest 仓库会被克隆到 .repo/manifests 中

cd .repo/manifests
#先更新manifest仓库
git fetch origin
git checkout main  # 假设 manifest 文件在 main 分支,根据实际情况调整分支名
git pull
ls rtsp.xml #检查所需的xml
#使用 repo init 的 -m 参数重新初始化,指定 rtsp.xml
repo init -m rtsp.xml
如果 rtsp.xml 不在默认分支的根目录,你需要确保分支和路径正确,用-b指定分支
repo init -b some-branch -m rtsp.xml
repo sync