Two compilation schemes are provided here. If you want to compile directly, choose scheme 1. If you want to compile with docker, choose scheme 2.
Notes:
1. SDK uses cross-compilation, so you should use SDK on an X86_64 computer, and do not download SDK to the board.
2. Please use Ubuntu20.04/Ubuntu22.04 (real machine or docker container) as the compilation environment. If you use other versions, compilation errors may occur.
3. Do not store or decompress SDK in virtual machine shared folders or non-English directories.
4. Please use ordinary users throughout the process of obtaining and compiling SDK. Root permissions are not allowed or required (unless apt is required to install software)
Preparations, select configuration according to your own situation
Download the source code from the download page and put it in the x86 Ubuntu host or virtual machine.
Download, click to jump
mkdir YY3588_Debian12
tar zxf yy3588_linux6.1_release_v0.0_20250429_sdk.tar.gz -C YY3588_Debian12
.repo/repo/repo sync -l
Install dependencies required for source code compilation
sudo apt update
sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib python2 unzip device-tree-compiler ncurses-dev
./yy3588-build.sh
The size of the complete firmware obtained by the complete compilation is more than 4G. Burning the complete firmware takes a long time, which is not conducive to debugging of drivers and other programs. Here is a step-by-step compilation, which requires
uboot
separatelycd u-boot
./make.sh rk3588
kernel
separatelycd kernel
make CROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 rockchip_linux_defconfig rk3588_linux.config
make CROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 rk3588s-yyt.img
reocvery
./build.sh recovery
./build.sh firmware
./build.sh updateimg
Install dependencies required for source code compilation
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo groupadd docker
sudo usermod -aG docker $USER
sudo reboot
sudo systemctl status docker
./docker/docker-rm.sh
./docker/docker-start.sh
./yy3588-build.sh
./docker/docker-rm.sh
./docker/docker-start.sh
uboot
cd u-boot
./make.sh rk3588
kernel
cd kernel
make CROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-ARCH=arm64 rockchip_linux_defconfig rk3588_linux.config
make CROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-ARCH=arm64 rk3588s-yyt.img
reocvery
./build.sh recovery
./build.sh firmware
./build.sh updateimg
Two compilation schemes are provided here. If you want to compile directly, choose scheme 1. If you want to compile with docker, choose scheme 2.
Notes:
1. SDK uses cross-compilation, so use SDK on X86_64 computer, do not download SDK to the board.
2. Please use Ubuntu20.04/Ubuntu22.04 (real machine or docker container) as the compilation environment. If you use other versions, compilation errors may occur.
3. Do not store or decompress SDK in virtual machine shared folders or non-English directories.
4. Obtain and compile SDK. Please use ordinary users throughout the process. Root permissions are not allowed or required (unless apt is required to install software).
Compiling Android requires high machine configuration:
If you are using 16g physical memory, to complete the compilation of Android14 source, you need to add 16G swap memory. The following are the steps to increase swap memory.
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
sudo vim /etc/fstab
## Add the following content
/swapfile swap swap defaults 0 0
Download the source code from the download page and put it in the x86 Ubuntu host or virtual machine.
Download, click to jump
Steps to unzip the source code:
mkdir YY3588_Android14
cat yy3588_android14.0_release_v0.0_20250514_sdk.tgz* | tar zxf - -C YY3588_Android14
cd YY3588_Android14
.repo/repo/repo sync -l
Before compiling the source code, you need to install a series of environment dependencies.
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-tree-compiler \
liblz4-tool python-pyelftools python3-pyelftools -y
Complete compilation is to merge a series of partition firmwares such as uboot and boot partition firmware into a complete firmware. Burning the complete firmware is simpler than burning the partition.
source build/envsetup.sh
lunch rk3588_u-userdebug
./build.sh -UKAu
Partition compilation is to compile each partition source code separately into partition firmware. The partition firmware is much smaller than the complete firmware. In driver debugging, the corresponding partition firmware is burned separately without burning other partitions. Greatly improve the speed of burning firmware and debugging speed.
source build/envsetup.sh
lunch rk3588_u-userdebug
uboot
separately./build.sh -U
kernel
separately./build.sh -K
android
separately./build.sh -A
./build.sh -u
A series of environment dependencies need to be installed before compiling the source code.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo groupadd docker
sudo usermod -aG docker $USER
sudo reboot
sudo systemctl status docker
Complete compilation is to merge a series of partition firmware such as uboot and boot partition firmware into a complete firmware. Burning the complete firmware is simpler than burning the partition.
./docker/docker-rm.sh
./docker/docker-start.sh
source build/envsetup.sh
lunch rk3588_u-userdebug
./build.sh -UKAu
Partition compilation is to compile each partition source code separately into partition firmware. The partition firmware is much smaller than the complete firmware. In driver debugging, the corresponding partition firmware is burned separately without burning other partitions. Greatly improve the speed of burning firmware and debugging.
./docker/docker-rm.sh
./docker/docker-start.sh
uboot
separately./build.sh -U
kernel
separately./build.sh -K
android
separately./build.sh -A
./build.sh -u