(一) RK3566 Android11 系统编译

RK3566 Android11 编译

1. 准备工作

编译 Android 对机器的配置要求较高,具体配置如下:
(1)64 位 CPU,4 核;
(2)32GB 物理内存+交换内存;
(3)250GB 空闲的磁盘空间。
这里使用的是 Ubuntu 18.04 操作系统,安装编译需要的软件包:

sudo apt-get update
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-treecompiler \
liblz4-tool python-pyelftools python3-pyelftools -y

在 Ubuntu 18.04 新建一个目录用来存放 android11 所有包:
在这里插入图片描述
把android11 SDK拷贝到android11目录下,解压1.tar压缩包到当前目录:
在这里插入图片描述
**注意:**不要在共享文件夹、挂载文件夹以及非英文目录解压SDK,避免产生不必要的错误
在当前目录下同步代码:.repo/repo/repo sync -l
在这里插入图片描述

2. 编译kernel

手动编译RK3566 Android11.0

cd ~/android11/kernel/

执行下面两条命令:
make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config
make ARCH=arm64 rk3566-evb2-lp4x-v10.img -j24

其他编译说明:Android11.0不能直接烧写kernel.img和resource.img
Android11.0 的 kernel.img 和 resource.img 包含在 boot.img 中,需要使用
build.sh -K 命令来编译 kernel。编译后烧写 rockdev 下面的 boot.img。也可以使用
如下方法单独编译 kernel。

单独编译 kernel 生成 boot.img
编译的原理:在 kernel 目录下将编译生成的 kernel.img 和 resource.img 替换
到旧的 boot.img 中。编译命令如下:

make ARCH=arm64 rockchip_defconfig android-11.config
make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3566_r/boot.img rk3566-evb2-
lp4x-v10-edp.img -j24

BOOT_IMG=…/rockdev/Image-rk3566_r/boot.img 这里指定的是旧的 boot.img 的
路径。

3. uboot 编译

cd ~/android11/u-boot/

./make.sh rk3566

4. Android 编译

source build/envsetup.sh
lunch rk3566_r-userdebug
make clean
make -j24
./mkimage.sh

完整编译会生成如下文件:
(一) RK3566 Android11 系统编译_第1张图片
固件说明:
(一) RK3566 Android11 系统编译_第2张图片
至此Android11编译Kernel、编译u-boot、编译android11工作做完。

你可能感兴趣的:(RK3566Android11,android,linux,ubuntu,arm)