基于Rockchip RK3588 Android12 SDK搭建自己的repo 仓库服务器
基于Rockchip RK3588 Android12 SDK搭建自己的repo 仓库服务器
文章目录
- 基于Rockchip RK3588 Android12 SDK搭建自己的repo 仓库服务器
- 搭建自己的repo代码服务器
- 流程框图
- 环境
- gitolite搭建
- 客户代码服务器端操作
- 客户端操作
- repo镜像搭建
- 客户代码服务器端操作
- 客户端操作
- 客户端操作
- 代码管理
- 切换自己的代码分支
- 代码修改提交
- 同步RK的代码
搭建自己的repo代码服务器
流程框图
环境
安装openssh-server
用于远程登录,git
用于管理工程,keychain
用于公私钥管理工具
sudo apt-get install openssh-server git keychain
gitolite搭建
客户代码服务器端操作
(以服务器地址:10.10.10.206为例进行说明)
- 创建git账户:
sudo adduser --system --shell /bin/bash --group git
sudo passwd git
- 以“git”账户登录服务器
- 确保“~/.ssh/authorized_keys”为空或者不存在
- 拷贝服务器管理员的公钥到“~/YourName.pub”
- 下载gitolite源码
git clone https://github.com/sitaramc/gitolite.git
- 在git用户目录下创建bin目录
mkdir -p ~/bin
- 执行下列命令安装gitolite,不同版本安装方法不同,请参考源码中的文档:
gitolite/install -to ~/bin
- 设置管理员
~/bin/gitolite setup -pk YourName.pub
客户端操作
- 克隆服务器的gitolite管理仓库:
git clone ssh://git@10.10.10.206/gitolite-admin.git
- 添加用户公钥到gitolite目录下
cp username.pub keydir/username.pub
- 添加管理员用户
vi conf/gitolite.conf
@admin = admin1 admin2 admin3
repo gitolite-admin
RW+ = @admin
repo镜像搭建
客户代码服务器端操作
- 用git账号登入服务器
- 在根目录下载repo工具
git clone ssh://git@www.rockchip.com.cn:2222/repo-release/tools/repo
- 在repositories目录下新建RK_Android12_mirror目录
repositories目录在搭建完gitolite后会自动生成。
cd repositories
mkdir RK_Android12_mirror
- 进入 RK_Android12_mirror目录
cd RK_Android12_mirror
- 从RK代码服务器下载RK Android12 SDK镜像
~/repo/repo init --repo-url=ssh://git@www.rockchip.com.cn:2222/repo-release/tools/repo.git -u ssh://git@www.rockchip.com.cn:2222/Android_S/rk3588-manifests.git -m Android12.xml --mirror.repo/repo/repo sync -c
- 创建仓库组权限
.repo/repo/repo list -n > android_s.conf
sed -i 's/^/@android_s = RK_Android12_mirror\/&/g' android_s.conf
客户端操作
- 将客户代码服务器端的android_s.conf拷贝到客户端的·gitolite-admin/conf/·下
- 添加组权限
vim conf/android_s.conf
@usergroup = user1 user2 user3
repo @android_s
R = @usergroup
RW+ = @admin
vim conf/gitolite.conf
include "android_s.conf"
- 新建自己的manifests仓库
vim conf/android_s.conf
@android_s = RK_Android12_mirror/manifests_xxx
- 将以上gitolite-admin仓库的修改内容push到客户代码服务器端上面,然后就就可以下载代码了。
客户端操作
- 在客户端下载自己的manifests_xxx仓库
在客户端电脑上下载客户代码服务器的manifests_xxx.git仓库
git clone ssh://git@10.10.10.206/RK_Android12_mirror/manifests_xxx.git
- 在客户端下载RK的原始manifests仓库
git clone ssh://git@10.10.10.206/RK_Android12_mirror/manifests.git
- 提交manifest.xml文件到新建的manifest_xxx仓库中
将原始manifests下面的文件拷贝到的manifests_xxx内
cd manifests_xxx
cp -rf manifests/*.xml manifests_xxx/
查看拷贝文件
git statusAndroid12.xmlAndroid12_Express.xmldefault.xml include/rk3326_repository.xmlinclude/rk356x_repository.xmlinclude/rk_checkout_from_aosp.xmlinclude/rk_modules_repository.xmlremote.xml remove_s.xml
本地提交
git add -A
git commit -m "init xxx"
push到远程分支
git push origin master:master
- 创建自己的代码下载链接
在根目录下下载repo工具
git clone ssh://git@www.rockchip.com.cn:2222/repo-release/tools/repo
按以上步骤操作后,自己的代码下载链接如下
mkdir Android12
cd Android12
~/repo/repo init -u ssh://git@10.10.10.206/RK_Android12_mirror/manifests_xxx.git -m Android12.xml
其中:
//10.10.10.206
是你的服务器端地址
通过以上步骤就可以完成自己的repo服务器搭建了,可以把自己的代码服务器链接分享给同事们一起工作了。
代码管理
通过以上步骤搭建代码服务器后大部分代码仓库都使用RK默认的分支,如果有仓库需要修改自己的代码,可以参考下面的步骤进行操作。
切换自己的代码分支
- 进入需要修改的代码仓库,以kernel目录为例进行说明
cd kernel-4.19
- 切换一个本地分支
git checkout remotes/m/master -b xxx_branch
- push xxx_branch分支到远程服务器
git push rk29 xxx_branch:xxx_branch
其中rk29
是remote 可以直接tab键自动补全
4. 进入.repo/manifests目录修改manifest里面指定的分支
进入.repo/manifests目录通过grep kernel可以找到kernel仓库对应的manifest的位置
cd .repo/manifests
--- a/include/rk_modules_repository.xml
+++ b/include/rk_modules_repository.xml
@@ -10,7 +10,7 @@<project path="hardware/rockchip/libgraphicpolicy" name="rk/hardware/rk29/libgraphicpolicy" remote="rk" revision="refs/tags/android-1s.0-mid-rkr1" /><project path="hardware/rockchip/libhwjpeg" name="rk/hardware/rk29/libhwjpeg" remote="rk" revision="refs/tags/android-12.0-mid-rkr1"/><project path="u-boot" name="rk/u-boot" remote="rk" revision="refs/tags/android-12.0-mid-rkr1"/>
- <project path="kernel" name="rk/kernel" remote="rk29" revision="refs/tags/android-12.0-mid-rkr1"/>
+ <project path="kernel" name="rk/kernel" remote="rk29" revision="xxx_branch"/><project path="bootable/recovery/rkupdate" name="platform/bootable/recovery/rk_update" remote="rk" revision="refs/tags/android-12.0-mid-rkr1"/><project path="bootable/recovery/rkutility" name="platform/bootable/recovery/rk_utility" remote="rk" revision="refs/tags/android-12.0-mid-rkr1"/>
- 提交修改的manifest到远程分支
git add include/rk_modules_repository.xml
git commit -m "change kernel branch on xxx_branch"
git push origin default:master
提交manifests仓库后,其他同事就可以同步到你们自己的分支的kernel代码了。
代码修改提交
按上面步骤切换完分支后就可以在自己分支上提交自己的修改了, 提交直接push到xxx_branch分支上面。
同步RK的代码
- 同步RK代码需要在服务器端进行sync操作
cd RK_Android12_mirror
.repo/repo/repo sync -c
- 客户端合并RK对manifests的修改
- 下载RK原始manifests仓库
git clone //10.10.10.206/wlq/test/manifests.git
使用对比工具对比manifests(RK原始)和manifests_xxx(自己的),将RK修改的差异部分合并到自己的仓库中(主要修改tag,增加删除仓库等)。
- 对比确认后将修改push到manifests_xxx上。
这步也可以确认自己修改了哪些仓库,在下一步中将进行修改仓库的合并。
3. 有自己切分支的目录需要手动把RK的修改merge到自己的分支上面
以kernel为例:
- 查看当前指向的远程分支
wlq@wlq:~/home1/test2/kernel-4.19$ git branch -av
* android-11.0-mid-rkr7 0bde59fad73a ARM: configs: rockchip_defconfig enable ION_CMA_HEAPxxx_branch 0bde59fad73a ARM: configs: rockchip_defconfig enable ION_CMA_HEAPremotes/m/master -> rk29/xxx_branchremotes/rk29/xxx_branch 0bde59fad73a ARM: configs: rockchip_defconfig enable ION_CMA_HEAP
可以看到当前指向的是:remotes/m/master -> rk29/xxx_branch
- 创建本地分支(从自己的远程分支上切)
git checkout remotes/m/xxx_branch -b local_xxx_branch
- 确认当前RK发布的最新TAG
wlq@wlq:~/home1/test2/kernel-4.19$ git tag | grep rkr
android-10.0-mid-rkr1
android-10.0-mid-rkr10
android-10.0-mid-rkr11
android-10.0-mid-rkr13
android-10.0-mid-rkr2
android-10.0-mid-rkr3
android-10.0-mid-rkr4
android-10.0-mid-rkr5
android-10.0-mid-rkr6
android-10.0-mid-rkr7
android-10.0-mid-rkr8
android-10.0-mid-rkr9
android-11.0-ebook-rkr1
android-11.0-ebook-rkr2
android-11.0-ebook-rkr3
android-11.0-ebook-rkr4
android-11.0-ebook-rkr5
android-11.0-ebook-rkr6
android-11.0-mid-rkr1
android-11.0-mid-rkr2
android-11.0-mid-rkr3
android-11.0-mid-rkr4
android-11.0-mid-rkr4.1
android-11.0-mid-rkr5
android-11.0-mid-rkr6
android-11.0-mid-rkr7
android-11.0-mid-rkr7-prev
android-11.0-mid-rkr8
android-12.0-mid-rkr1
可以看到当前最新的Android12的tag是android-12.0-mid-rkr1
- 合并
android-12.0-mid-rkr1
到本地分支
git merge android-12.0-mid-rkr1
查看是否有冲突,如果有冲突先解决冲突,没有冲突在执行下一步
- push合并完的代码到远程分支
git push rk29 local_xxx_branch:xxx_branch
- 其他切分的目录都按这个方式进行合并提交即可
基于Rockchip RK3588 Android12 SDK搭建自己的repo 仓库服务器相关推荐
- RK3588 Android12 SDK 中在device介绍及如何新建自己的产品lunch项
RK3588 Android12 SDK 中在device介绍及如何新建自己的产品lunch项 文章目录 RK3588 Android12 SDK 中在device介绍及如何新建自己的产品lunch项 ...
- Rockchip RK3588 Android SDK编译方法
Rockchip RK3588 Android SDK编译方法 Rockchip RK3588 Android SDK在原始Android的编译方式的基础上封装了一个编译脚本build.sh,用来简化 ...
- Rockchip RK3588 Android+Linux双系统方案的实现
Rockchip RK3588 Android+Linux双系统方案的实现 文章目录 Rockchip RK3588 Android+Linux双系统方案的实现 概述 硬件环境 软件环境 要求 代码修 ...
- Rockchip RK3588 kernel dts解析之PCIe
Rockchip RK3588 kernel dts解析之PCIe 文章目录 Rockchip RK3588 kernel dts解析之PCIe RK3588控制器 RK3588 PHY 使用限制 D ...
- Rockchip RK3588如何创建新一个新板级DTS
Rockchip RK3588如何创建新一个新板级DTS 文章目录 Rockchip RK3588如何创建新一个新板级DTS 基于SDK已有的DTS选择一个适合的基础参考DTS RK3588 SDK发 ...
- Eclipse+ADT+Android SDK 搭建安卓开发环境
2019独角兽企业重金招聘Python工程师标准>>> Eclipse+ADT+Android SDK 搭建安卓开发环境 博客分类: Android 最近刚开始接触Android(安 ...
- 基于Windows 7旗舰版搭建WinCE6.0开发环境的过程
首先感谢JeffreyLi提供了更简便的安装WinCE6.0 R3的方法,今天验证过了,确实比我之前整理的<WinCE6.0 R3的安装步骤>方便很多,十分感谢! 为了方便大家参考,重新整 ...
- Android:Eclipse+ADT+Android SDK 搭建安卓开发环境
Eclipse+ADT+Android SDK 搭建安卓开发环境 要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); eclipse-jee-luna-SR2- ...
- 基于Unity3D 的Vuforia SDK开发基础教程
前言 增强现实技术是当前信息技术领域的一项重要的综合性技术,融合了模式识别.计算机图形学等多个学科的知识.今天我们就和大家一起来看一下,这个技术到底可以带给我们什么吧. 左边是通过手机观看图片,可 ...
最新文章
- 互联网1分钟 | 0911
- 安装Typora情况下,Windows右键新建菜单中增加新建md文件
- Python Django URL逆向解析(通过模板页面逆向访问)代码示例
- 安装或卸载英特尔快速存储技术时,提示“此程序有一个挂起的重新启动”
- 电商系统的自提订单,提货流程如何设计
- android 通知灯 测试,Android灯光系统通知灯【转】
- 机器学习 —— 极大似然估计与条件概率
- 庆祝ColdFusion十周年
- 集群oracle实例扩sga,oracle管理基础知识
- 推荐 ADO.NET Entity Framework (EDM) 相关技术文章
- JavaWeb:下载文件
- [Swift通天遁地]二、表格表单-(15)自定义表单文本框内容的格式
- win10官方原版iso镜像 下载地址
- 怎样用matlab画斜条纹图案,CorelDRAW制作简单的均匀倾斜条纹
- html诗词赏析网页制作,html 网页文本设计
- Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
- 极简步骤试玩Ant Design Pro myapp demo
- fzu 1891 升降序列
- 光明行动:共同呵护好孩子的眼睛——广西实施光明行动实地考察调研综述
- 大连理工计算机应用基础作业,2014秋大连理工大学《计算机应用基础》在线测试1...