3. Compile Source

3.1 Unzip source

unzip the source and config the board

tar xvf xx.tar.bz2
cd xx
./build.sh lunch              //config the board

Print out as follow. Select 2

 Pick a defconfig:

 1. rockchip_defconfig
 2. rockchip_rk3288w_evb_act8846_defconfig
 3. rockchip_rk3288w_evb_rk808_defconfig
 4. rockchip_rk3288w_firefly_defconfig

 Which would you like? [1]: 2

 switching to defconfig: //home/liuyuan/opt/EM3288/linux_5.10/device/rockchip/.chip/rockchip_rk3288w_evb_act8846_defconfig

3.2 Compile uboot, kernel, recovery

./build.sh uboot      //compile uboot
./build.sh kernel     //compile kernel

If only configure the kernel, please complied kernel as follow

cd kernel
make ARCH=arm menuconfig

The reconfig kernel file is located in .config by default. Please update the modified content to /arch/arm/configs/rockchip_linux_defconfig, and then recompile the kernel to make it take effect.

./build.sh recovery    //compile recovery

3.3 Compile debian

Permission: root

./build.sh debian

If it’s the first time compiling Debian, user needs to install the dependency packages(Permission: root).

cd debian
sudo apt-get install binfmt-support qemu-user-static live-build
sudo dpkg -i ubuntu-build-service/packages/*
sudo apt-get install -f

build update image

./build.sh firmware
./build.sh updateimg

Images and update.img are generated in rockdev/

If both Buildroot and Debian systems are compiled, the packaged image will default to the system that last compiled. If the last compilation was for the Buildroot but you want to package the Debian, you can execute the following command to package it.

./build.sh firmware
export RK_ROOTFS_SYSTEM=debian
./build.sh updateimg

Since recompiling the Debian system takes a long time, while compiling Buildroot only requires a fraction of that, after switching to the Debian system using a command, if you want to package the image of the Buildroot system, you will need to recompile Buildroot.