This is an effort to document how to compile, install, configure and use Ubuntu on RK3288 EVB board.

1 Overall

1.1 Available

CPU Frequency Scaling 100Mhz~1.8Ghz
DDR Frequency Scaling 200Mhz~666Mhz
GPU Frequency Scaling 100Mhz~600Mhz
Thermal control
Display: EDP, MIPI, HDMI, LVDS
SDMMC/SDIO
Ethernet(RJ45 10/100/1000Mb)
WIFI(802.11 a/b/g/n/ac) 
USB host (HDD external / HID / udisk / 3G dongle / USB audio / USB camera)
i2c/i2s/spi/uart/spdif
Watchdog
Suspend/Resume
video H264 hardware dec/enc
Crypto
Efuse
PWM
PMIC: RK808

1.2 Ongoing

MIPI CSI
Camera ISP
RGA 2D graphics acceleration
Video H265 hardware acceleration

2. U-boot

RK UBOOT is designed basing on the open UBOOT resource. It support boot loader mode and download mode. Boot loader mode is the normal mode of UBOOT. Device usually release under this mode. This mode mainly load the kernel from FLASH to SDRAM and run the Operating System. User need to flash the device under the download mode. Keep press the recover key on board and power on the board, it will enter download mode.

You can get the u-boot img(RK3288UbootLoader_V2.19.07.bin) here:
U-boot and Firmware

3. Kernel

The 3.14 kernel is base on chromeos kernel, You can get the kernel:
v3.14 kernel

3.1 How to compile kernel

define you CROSS_COMPILE in Makefile, for example:

CROSS_COMPILE ?= ../prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
$make rockchip_defconfig
$make rk3288-evb-rk808.img

If your pmic board is act8846, please modify the compile cmd to:
$make rockchip_defconfig
$make rk3288-evb-act8846.img

kernel.img and resource.img(dtb save in this file) would be generated in kernel root directory. If you want to create your own dts file(such as xxx.dts), you can compile the kernel by make xxx.img.

4. How to flash img

4.1 Download Tool and firmware

Get upgrate tool and Ubuntu Firmware from Baidu Cloud or google driver

4.2 Flash u-boot

Connect the evb board to your computer through OTG wire. Keep press the FLASH key and then power on the board. How to enter maskrom

$sudo ./upgt
List of rockusb connected
DevNo=1    Vid=0x2207,Pid=0x320a,LocationID=22a    Maskrom
Found 1 rockusb,Select input DevNo,Rescan press <R>,Quit press <Q>:

This message means that the board has entered into Maskrom mode. at this time, you can flash the Loader. Exit the current upgt with ctrl + c then:
$sudo ./upgt ul RK3288UbootLoader_V2.19.07.bin

After the u-boot upgrate is completed, the board would stay at Loader mode, and you can find the rockusb on PC with ./upgt tool:
List of rockusb connected
DevNo=1    Vid=0x2207,Pid=0x320a,LocationID=225    Loader
Found 1 rockusb,Select input DevNo,Rescan press <R>,Quit press <Q>:

The other modules can be upgraded, once the device enter into this Loader mode. Additionally this mode can be entered by recovery + reboot combination button.

4.3 Flash parameter

The parameter file contain a partition info and commend line, if you want to modify the partition, need update this file.

$sudo ./upgt di -p parameter_with_kernel

4.4 Flash kernel

$sudo ./upgt di -k kernel.img
$sudo ./upgt di resource resource.img

4.5 Flash ubuntu system image

$sudo ./upgt di linuxroot root.img

5. Other question

5.1 About open source u-boot

If you do not like rk u-boot and parameter, the open u-boot would be avildable. Get the u-boot from:
U-boot

But the rk partitions commit in kernel must be reverted:

commit ca9b4f434c97978e62a01ccfab75bb668bd29f90
Author: Mark Yao <mark.yao@rock-chips.com>
Date:   Fri Oct 17 15:08:31 2014 +0800

    rockchip: partitions: add rockchip partitions

    Signed-off-by: Mark Yao <mark.yao@rock-chips.com>

how to bring up from U-boot