• Rockchip平台rk3588源码下载编译(基于Android13)


    Rockchip平台rk3588源码下载编译(基于Android13)

    源码下载

    下载地址

    repo init --repo-url https://gerrit.rock-chips.com:8443/repo-release/tools/repo
    -u https://gerrit.rock-chips.com:8443/Android_T/manifests.git -m Android13.xml
    
    • 1
    • 2

    服务器镜像下载

    repo init --repo-url https://gerrit.rock-chips.com:8443/repo-release/tools/repo
    -u https://gerrit.rock-chips.com:8443/Android_T/manifests.git -m Android13.xml -
    -mirror
    
    • 1
    • 2
    • 3

    需要向RK申请SDK使用权限。

    由于AOSP使用的repo管理源码仓库,所以为了方便开发者获取repo工具,RK也提供了repo工具的下载

    git clone https://gerrit.rock-chips.com:8443/repo-release/tools/repo
    
    • 1

    如何搭建自己的repo服务器

    本文介绍了如何使用Markdown撰写一篇关于搭建自己的repo代码服务器的文章。以下是详细的步骤和指导。

    环境准备

    在开始之前,需要安装以下软件包:

    • openssh-server:用于远程登录服务器
    • git:用于管理工程
    • keychain:用于公私钥管理工具

    可以使用以下命令在Linux系统中进行安装:

    sudo apt-get install openssh-server git keychain
    
    • 1

    Gitolite搭建

    服务器端操作

    以服务器地址 10.10.10.206 为例进行说明:

    1. 创建一个名为 git 的系统用户:
    sudo adduser --system --shell /bin/bash --group git
    sudo passwd git
    
    • 1
    • 2
    1. 使用 git 用户登录服务器。

    2. 确保 ~/.ssh/authorized_keys 文件为空或不存在。

    3. 将服务器管理员的公钥拷贝到 ~/YourName.pub 文件中。

    4. 下载 Gitolite 源码:

    git clone https://github.com/sitaramc/gitolite.git
    
    • 1
    1. git 用户目录下创建一个名为 bin 的目录:
    mkdir -p ~/bin
    
    • 1
    1. 执行以下命令安装 Gitolite(不同版本的安装方法可能会有所不同,请参考源码中的文档):
    gitolite/install -to ~/bin
    
    • 1
    1. 设置管理员权限:
    ~/bin/gitolite setup -pk YourName.pub
    
    • 1
    客户端操作
    1. 克隆服务器上的 Gitolite 管理仓库:
    git clone ssh://git@10.10.10.206/gitolite-admin.git
    
    • 1
    1. 将用户公钥添加到 gitolite 目录下的 keydir 目录中:
    cp username.pub keydir/username.pub
    
    • 1
    1. 添加管理员用户。打开 conf/gitolite.conf 文件,将管理员用户名添加到 @admin 组中:
    @admin = admin1 admin2 admin3
    repo gitolite-admin
    RW+     =   @admin
    
    • 1
    • 2
    • 3

    Repo镜像搭建

    服务器端操作
    1. 使用 git 账号登录服务器。

    2. 在根目录下下载 Repo 工具:

    git clone https://gerrit.rock-chips.com:8443/repo-release/tools/repo
    
    • 1
    1. 新建一个名为 RK_Android13_mirror 的目录:
    mkdir RK_Android13_mirror
    
    • 1
    1. 进入 RK_Android13_mirror 目录:
    cd RK_Android13_mirror
    
    • 1
    1. 下载 RK Android13 SDK 镜像:
    repo init --repo-url https://gerrit.rock-chips.com:8443/repo-release/tools/repo
    -u https://gerrit.rock-chips.com:8443/Android_T/manifests.git -m Android13.xml -mirror
    
    • 1
    • 2
    1. 创建仓库组权限:
    .repo/repo/repo list -n > android_t.conf
    sed -i 's/^/@android_t = RK_Android13_mirror\/&/g' android_t.conf
    
    • 1
    • 2
    客户端操作

    以下是在客户端下载和操作repo的步骤:

    1. 下载manifests_xxx仓库

    在其他客户端电脑上下载manifests_xxx.git仓库:

    git clone ssh://git@10.10.10.206/Android_T/manifests_xxx.git
    
    • 1
    1. 下载原始manifests仓库

    下载原始manifests仓库:

    git clone ssh://git@10.10.10.206/Android_T/manifests.git
    
    • 1
    1. 提交manifest.xml文件到manifests_xxx仓库中

    将原始manifests下面的文件拷贝到manifests_xxx内,可以使用以下命令:

    cd manifests_xxx
    cp -rf manifests/*.xml manifests_xxx/
    
    • 1
    • 2

    查看拷贝文件:

    git status
    
    • 1

    会显示以下文件:

    Android13.xml
    Android13_Express.xml
    default.xml
    include/rk3326_repository.xml
    include/rk356x_repository.xml
    include/rk_checkout_from_aosp.xml
    include/rk_modules_repository.xml
    remote.xml      
    remove_t.xml 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    然后进行本地提交:

    git add -A
    git commit -m "init xxx"
    
    • 1
    • 2

    最后将修改推送到远程分支:

    git push origin master:master
    
    • 1
    1. 创建自己的代码下载链接

    在根目录下下载repo工具:

    git clone https://gerrit.rock-chips.com:8443/repo-release/tools/repo
    
    • 1

    按以上步骤操作后,自己的代码下载链接如下:

    mkdir Android13
    cd Android13
    ~/repo/repo init -u ssh://git@10.10.10.206/Android_T/manifests_xxx.git -m Android13.xml
    
    • 1
    • 2
    • 3

    其中,//10.10.10.206 是你的服务器端地址。

    通过以上步骤就可以完成自己的repo服务器搭建了,可以把自己的代码服务器链接分享给同事们一起工作了。

    代码编译

    rk提供了一键编译命令,方便开发者按需编译源码

    ./build.sh -UKAup
    ( WHERE: -U = build uboot
          -C = build kernel with Clang
          -K = build kernel
          -A = build android
          -p = will build packaging in IMAGE
          -o = build OTA package
          -u = build update.img
          -v = build android with 'user' or 'userdebug'
          -d = huild kernel dts name
          -V = build version
          -J = build jobs
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意,执行一键编译命令之前需要lunch需要的项目,以rk3588_t项目为例子

    source build/envsetup.sh
    lunch rk3588_t-userdebug
    
    • 1
    • 2

    新建产品lunch

    以RK3588平台新建rk3588s_t产品为例:

    1. 修改device/rockchip/rk3588/AndroidProducts.mk文件,增加rk3588s_t的lunch:
    --- a/AndroidProducts.mk
    +++ b/AndroidProducts.mk
    @@ -17,10 +17,14 @@
     PRODUCT_MAKEFILES := \
            $(LOCAL_DIR)/rk3588_t/rk3588_t.mk \
    +       $(LOCAL_DIR)/rk3588s_t/rk3588s_t.mk \
    
     COMMON_LUNCH_CHOICES := \
        rk3588_t-userdebug \
        rk3588_t-user \
    +   rk3588s_t-userdebug \
    +   rk3588s_t-user \
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    1. device/rockchip/rk3588目录下新建rk3588s_t目录:

    参考device/rockchip/rk3588下已有的rk3588_t产品目录进行新建。你可以直接拷贝rk3588_t目录并重命名为rk3588s_t,然后将rk3588s_t目录下的所有 rk3588_t 字符串改为 rk3588s_t

    完成以上步骤后,你就成功添加了 lunch选项,并在device/rockchip/rk3588目录下创建了rk3588s_t产品目录。

    RK升级工具

    项目根目录RKTools下存放了upgrade_tool和fastboot工具,包括Linux和Window版本,可按需使用。

    upgrade_tool

    烧写整个固件

    $ upgrade_tool UF ~/Downloads/update.img
    
    • 1

    upgrade_tool -h查看工具使用方法。

    fastboot

    fastboot是Android原生提供的调试工具,配合adb使用。
    该工具可单独分区烧写。

    烧写动态分区

    adb reboot fastboot
    fastboot flash vendor vendor.img
    fastboot flash system system.img
    fastboot flash odm odm.img
    
    • 1
    • 2
    • 3
    • 4

    fastboot -h查看工具用法。

  • 相关阅读:
    【kafka实战】01 3分钟在Linux上安装kafka
    【树莓派c++图像处理起航1】
    求多边形的最小包络矩形【java实现+原理讲解】
    使用 Dify 和 AWS Bedrock 玩转 Anthropic Claude 3
    整理笔记——MOS管、三极管、IGBT
    【GOF】三种工厂模式~
    03_SpingBoot 核心配置文件
    GateWay网关
    FPGA niosII 视频笔记--小梅
    按位运算符、逻辑运算符
  • 原文地址:https://blog.csdn.net/u011897062/article/details/134514389