Ubuntu System Compilation

Hardware Configuration

Recommended hardware configuration for compiling Ubuntu development environment:

  • 64-bit CPU

  • Ubuntu 20.04 system

  • 16GB memory

  • 250GB free space for compilation

  • Compile as a regular user, do not compile as root

Software Configuration

Install environment packages

sudo apt update
sudo apt-get install repo 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 \
unzip device-tree-compiler python-pip ncurses-dev pyelftools

SDK Acquisition

Send an email to support@neardi.com to obtain related development materials. Before unzipping after downloading, check whether the MD5 code matches with LPA3399Pro-SDK-Linux-V3.0.tar.gz.md5sum:

$ md5sum LPA3399Pro-SDK-Linux-V3.0-split.tar.gz*
********************************  LPA3399Pro-SDK-Linux-V3.0-split.tar.gzaa
********************************  LPA3399Pro-SDK-Linux-V3.0-split.tar.gzab
********************************  LPA3399Pro-SDK-Linux-V3.0-split.tar.gzac
********************************  LPA3399Pro-SDK-Linux-V3.0-split.tar.gzad

Unzip:

$ cat LPA3399Pro-SDK-Linux-V3.0-split.tar.gz* > LPA3399Pro-SDK-Linux-V3.0.tar.gz
$ tar -zxf LPA3399Pro-SDK-Linux-V3.0.tar.gz

Extract:

cd LPA3399Pro-SDK-Linux-V3.0
git reset --hard

Switch branches:

branch explain
lz11000001 Neardi master branch
git checkout lz11000001

Compile SDK

Select Configuration

./build.sh ./device/rockchip/rk3399pro/BoardConfig_rk3399pro-neardi-linux-lz11000001.mk

Compile NPU

./build.sh npu

Fully Automatic Compilation

Fully automatic compilation will execute all compilations, generating u-boot, kernel, and buildroot.

./build.sh

Partial Compilation

  • Compile u-boot

./build.sh uboot
  • Compile kernel

./build.sh kernel
  • Compile recovery

./build.sh recovery

Compile Ubuntu

./build.sh focal

Packaging Firmware

RK firmware is packaged in a proprietary format by Rockchip, and can be flashed onto eMMC or SD card using tools provided by Rockchip (Note: Unless specified otherwise, the firmware mentioned on the WIKI by default refers to RK firmware).

# Package RK firmware
./build.sh updateimg

The complete firmware will be saved to  rockdev/update.img