Skip to main content

Linux Build and Flash

This page is organized from the newer Rockchip Linux SDK manual and keeps the workflow useful for I3399 / X3399.

Development Environment​

Ubuntu 16.04 64-bit is recommended. Linux SDK builds are lighter than Android builds, so a VM is usually acceptable.

sudo apt-get update
sudo apt-get install git gnupg flex bison gperf libsdl1.2-dev libwxgtk3.0-dev \
build-essential zip curl zlib1g-dev gcc-multilib g++-multilib genromfs \
libc6-dev-i386 libncurses5-dev x11proto-core-dev libx11-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip gperf lsb-core lib32z1-dev \
lib32ncurses5-dev lzop liblz4-tool proot libssl1.0.0 libssl-dev genext2fs

Buildroot dependencies:

sudo apt-get install libfile-which-perl sed make binutils gcc g++ bash patch \
gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3 git repo \
texinfo pkg-config cmake tree

Toolchain​

U-Boot and Kernel toolchains are usually stored in prebuilts/gcc. Buildroot uses its own generated toolchain. For X3399, a common prefix is:

x3399_linux_new/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

Get SDK Source​

git clone https://gitlab.com/9tripod/x3399_linux_new.git
cd x3399_linux_new

If an initial package is used:

tar xjf x3399_linux_new.tar.bz2
cd x3399_linux_new
git checkout .
git remote add gitlab https://gitlab.com/9tripod/x3399_linux_new.git
git pull gitlab master

Build SDK​

./mk.sh -h
./build.sh -h

Full build:

./build.sh
# or
./mk.sh -a

Separate build:

./mk.sh -u # u-boot
./mk.sh -k # kernel
./mk.sh -r # recovery
./mk.sh -b # rootfs / buildroot
./mk.sh -U # package update image

Image Files​

FileDescription
MiniLoaderAll.binLoader image
parameter.txtPartition configuration
uboot.imgU-Boot image
trust.imgTrust image
misc.imgBoot-mode and parameter partition
recovery.imgRecovery image
boot.imgKernel + resource image
rootfs.imgLinux root filesystem
oem.imgVendor application/data partition
userdata.imgUser data partition
update.imgPackaged upgrade image

Enter Flash Mode​

The board must be in Loader or Maskrom mode. Common methods:

reboot loader

Or hold the Recovery key while powering on or resetting the board.

Flash with upgrade_tool​

Full package:

sudo ./upgrade_tool uf update-linux.img

Separate images:

sudo ./upgrade_tool ul MiniLoaderAll.bin
sudo ./upgrade_tool di -p parameter.txt
sudo ./upgrade_tool di -u uboot.img
sudo ./upgrade_tool di -t trust.img
sudo ./upgrade_tool di -misc misc.img
sudo ./upgrade_tool di -r recovery.img
sudo ./upgrade_tool di -b boot.img
sudo ./upgrade_tool di -rootfs rootfs.img
sudo ./upgrade_tool rd