[ROC-RK3568-PC] 手把手教你编译与打包Android 11系统固件

Posted Neutionwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ROC-RK3568-PC] 手把手教你编译与打包Android 11系统固件相关的知识,希望对你有一定的参考价值。

🍇 博主主页:Systemcall小酒屋
🍇 博主简介:Neutionwei,C站嵌入式领域新星创作者之一,一枚热爱开源技术、喜欢分享技术心得的极客,注重简约风格,热衷于用简单的案例讲述复杂的技术,“假传万卷书,真传一案例”,这是厦大一位教数学的院士说过的一句话,另外“成就是最好的老师”,技术既要沉淀,也得分享,成就感的正反馈是支持我持续耕耘的动力!
🍇 专栏目录:Firefly-RK3588板卡
🍇 专栏说明:本专栏主要基于Firefly旗下的RK3588板卡进行入门篇讲述,欢迎订阅,博主会持续更新!

ROC-RK3568-PC资料下载处(包含SDK、硬件资料、芯片手册、官方固件等):https://www.t-firefly.com/doc/download/107.html

文章目录

一、开发环境搭建

android 11 SDK的编译对PC机的要求不低,据官方介绍:

  • 64 位 CPU
  • 16GB 物理内存 + 交换内存
  • 250GB 空闲的磁盘空间

编译系统最好选用Ubuntu 18.04,以下是基于18.04的环境搭建:

$ sudo apt-get update
$ sudo sudo apt-get install git gnupg flex bison gperf libsdl1.2-dev \\
libesd-java libwxgtk3.0-dev squashfs-tools build-essential zip curl \\
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \\
xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \\
lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzip zip device-tree-compiler \\
liblz4-tool python-pyelftools python3-pyelftools -y 

编译过程中如何存在缺少某些依赖包,根据提示去安装即可!

二、下载Android 11 SDK

直接从ROC-RK3568-PC资料下载处(https://www.t-firefly.com/doc/download/107.html)找到SDK下载即可!

下载完成后验证一下MD5码,参考官方维基:

$ md5sum /path/to/Firefly-RK356X_Android11.0_git_20210824.7z.001
$ md5sum /path/to/Firefly-RK356X_Android11.0_git_20210824.7z.002
$ md5sum /path/to/Firefly-RK356X_Android11.0_git_20210824.7z.003
$ md5sum /path/to/Firefly-RK356X_Android11.0_git_20210824.7z.004
$ md5sum /path/to/Firefly-RK356X_Android11.0_git_20210824.7z.005

b4c3d014a688d230bb25156a4c5aea26  Firefly-RK356X_Android11.0_git_20210824.7z.001
1ddfec58d0d69aee6029982fcbe4343c  Firefly-RK356X_Android11.0_git_20210824.7z.002
d08b16c244545ac68b496e2980d3c6a7  Firefly-RK356X_Android11.0_git_20210824.7z.003
2b628cc10a55214b8d9a3619673c01c3  Firefly-RK356X_Android11.0_git_20210824.7z.004
6f7e63955c96ca3c9ba6e4e49d52c90c  Firefly-RK356X_Android11.0_git_20210824.7z.005

在一般目录解压SDK(非共享文件夹、非挂载文件夹以及非英文目录):

$ 7z x ./Firefly-RK356X_Android11.0_git_20210824.7z.001 -oRK356X_Android11.0
$ cd ./RK356X_Android11.0
$ git reset --hard

更新SDK:

$ cd ./RK356X_Android11.0

# 下载远程 bundle 仓库
$ git clone https://gitlab.com/TeeFirefly/rk356x-android11-bundle.git .bundle

# 若下载仓库失败,目前 bundle 仓库占用空间较大,所以同步的时候可能会出现卡住或失败的问题,
# 可以从云盘下载 bundle 并解压到 SDK 根目录,解压指令如下:
$7z x rk356x-android11-bundle.7z  -r -o. && mv rk356x-android11-bundle/ .bundle/

# 更新 SDK,并且后续更新不需要再次拉取远程仓库,直接执行以下命令即可
$ .bundle/update

# 按照提示已经更新内容到 FETCH_HEAD,同步 FETCH_HEAD 到 firefly 分支
$ git rebase FETCH_HEAD

三、编译Android 11 SDK

Firefly官方为了降低用户的编译成本,支持了SDK的一键编译操作!

目前有两种编译选择,一种是支持HDMI:

$ ./FFTools/make.sh -d rk3568-firefly-roc-pc -j8 -l rk3568_firefly_roc_pc-userdebug

另一种是支持10.1寸MIPI DSI0:

$ ./FFTools/make.sh -d rk3568-firefly-roc-pc-mipi101_M101014_BE45_A1 -j8 -l rk3568_firefly_roc_pc_mipi-userdebug

四、打包Android 11固件

执行以下命令:

$ ./FFTools/mkupdate/mkupdate.sh -l rk3568_firefly_roc_pc-userdebug

生成的固件位于rockdev/Image-XXX/目录下!

以上是关于[ROC-RK3568-PC] 手把手教你编译与打包Android 11系统固件的主要内容,如果未能解决你的问题,请参考以下文章

[ROC-RK3568-PC] 手把手教你在Linux下解包与打包Ubuntu系统固件

[ROC-RK3568-PC] 手把手教你打包能使用Etcher或dd命令烧写的Ubuntu系统固件

[ROC-RK3568-PC] 手把手教你打包能使用Etcher或dd命令烧写的Ubuntu系统固件

[ROC-RK3568-PC] 手把手教你编译与打包Android 11系统固件

[ROC-RK3568-PC] 手把手教你编译Linux_SDK并打包Buildroot系统固件

[ROC-RK3568-PC] 手把手教你制作Ubuntu系统TF卡启动盘