This manual is for the development of linux on RK3288 board.
| Soc | Rockchip RK3288 (28nm HKMG Process) |
| CPU | ARM® Cortex™-A17 Quad-Core up to 1.8GHz |
| GPU |
ARM® Mali-T760 MP4 Support OpenGL ES 1.1/2.0 /3.0, OpenVG1.1, OpenCL, Directx11 Embedded high performance 2D hardware Supports H.264 10bits and H.265 4K video decoding, 1080P multi format video decoding 1080P video encoding, supports H.264, VP8 and MVC |
| RAM | 2GB Dual-Channel DDR3 (Plus version is 4GB) |
| Storage |
16GB eMMC (Plus version is 32GB) MicroSD (TF) Card Slot |
| PMU | ACT8846 PMU Chip |
| Ethernet |
10/100/1000Mbps Ethernet (Realtek RTL8211E) |
| Wireless |
Integrated WiFi Combo Module ( AP6335 ) : WiFi 2.4GHz/5GHz Dual-Band Support 802.11a/b/g/n/ac Bluetooth 4.0 (Support BLE) |
| Display |
Supports multi-channel HD display: 1 x HDMI 2.0,Support maximum 4K@60Hz display 1 x VGA up to 1080P 1 x MIPI、1 x EDP、2 x LVDS display interface (DSI) for LCD panels |
| Audio |
1 x HDMI audio output 1 x Analog audio (via 3.5mm Combo Audio Jack for audio input and ouput) 1 x SPDIF for audio output 1 x On-board Micphone for audio input 1 x I2S for audio input and ouput |
| Camera |
1 x MIPI-CSI Camera Interface (Maximum 13Mpixel) |
| USB |
2 x USB2.0 HOST,1 x USB2.0 OTG Reserved 4 groups USB2.0 header in the back of board |
| IR | 1 x IR Receiver Module,Support self defined IR remote |
| LED | 1 x Power Status LED (Blue) ,1 x User Defined LED (Green) |
| Button | 1 x Reset button,1 x Power button,1 x Recover button |
| Debugging | 1 x Serial Console,for debugging |
| Reserved Interface |
84 Pins header: MIPI、MIPI-CSI、Dual LVDS、EDP、PWM、SPI、 UART、ADC、GPIO、I2C、I2S |
| Power | DC5V - 2.5A ( via DC 4.0*1.7mm Jack ) |
| OS | Android 4.4、5.1 / Ubuntu 14.04 |
| Size | 118mm × 85mm |
| Weight | 77g |
$tar -xvf tools/arm-eabi-4.8.tar.gz
$sudo mv arm-eabi-4.8/ /opt/
$echo "export PATH=\$PATH:/opt/arm-eabi-4.8/bin" >> ~/.bashrc
$source ~/.bashrc
$sudo apt-get install lib32ncurses5 lib32z1 lib32stdc++6 libssl-dev
$cd tools/rockchip-mkbootimg
$make
$sudo make install
$cd linux-kernel-4.4/linux-kernel
$export ARCH=arm
$export CROSS_COMPILE=arm-eabi-
$make rockchip_linux_defconfig
$make rk3288-firefly.img -j4
VGA support as default, If want to support lvds, please use rk3288-firefly-lvds.img instead.
$git clone https://github.com/TeeFirefly/initrd.git
$cd initrd
$git checkout for-kernel_4.4
$cd ..
$make -C initrd
After this, initrd.img will be created.
$mkbootimg --kernel kernel_4.4/arch/arm/boot/zImage --ramdisk initrd.img --second kernel_4.4/resource.img -o linux-boot.img
After this, linux-boot.img will be created.
$wget -c http://cdimage.ubuntu.com/ubuntu-base/releases/16.04.3/release/ubuntu-base-16.04.3-base-armhf.tar.gz
$mkdir linux-rootfs
$sudo tar -xvpf ubuntu-base-16.04.3-base-armhf.tar.gz -C linux-rootfs
$sudo apt-get install qemu-user-static
$sudo cp /usr/bin/qemu-arm-static linux-rootfs/usr/bin/
$sudo cp -b /etc/resolv.conf linux-rootfs/etc/resolv.conf
$sudo cp sources.list linux-rootfs/etc/apt/sources.list
$sudo cp -r rootfs_bootservice/* linux-rootfs
$./ch-mount.sh -m linux-rootfs
Now you are in the shell of rootfs, please work here.
#apt update
#apt dist-upgrade
#apt install bash-completion
#apt install net-tools
#apt install inetutils-ping
#apt install openssh-server
#apt install pulseaudio-module-bluetooth
#apt install bluez-tools
#apt install vim-tiny
You can install other packages as you want.
#apt install ubuntu-session xubuntu-desktop
You may get the error:
Errors were encountered while processing:
blueman
Please start dbus service and try again:
#/etc/init.d/dbus start
#update-alternatives --config x-session-manager
Please select startxfce4.
#dpkg-reconfigure lightdm
#apt install locales
#dpkg-reconfigure locales
Please select "en_US.UTF-8 UTF-8" "zh_CN GB2312" "zh_CN.GB18030 GB18030" "zh_CN.GBK GBK" "zh_CN.UTF-8 UTF-8"
#echo "localhost" > /etc/hostname
#echo "127.0.0.1 localhost" > /etc/hosts
#useradd -s '/bin/bash' -m -G adm,sudo ubuntu
#passwd ubuntu
#passwd root
Please set the password as you want.
#apt remove thunderbird
#apt remove gnome-mines
#apt remove gnome-sudoku
#apt remove pidgin
#apt remove transmission-*
#apt remove gnome-software
#apt autoremove
#apt install qt5-default
#dpkg-reconfigure tzdata
Please select your time zoon, eg:Asia/Shanghai
#vi etc/default/apport
Please set enabled value as zero, eg:enabled=0
#systemctl enable rockchip.service
#apt clean
#rm -rf /var/lib/apt/lists/*
#exit
$./ch-mount.sh -u linux-rootfs
If unmount failed, please reboot your computer. Now, you have finished the basic rootfs.
$git clone https://github.com/rockchip-linux/rk-rootfs-build.git
$sudo cp -r rk-rootfs-build/overlay-firmware/* linux-rootfs
$sudo mkdir -p linux-rootfs/packages
$sudo cp -r rootfs_gstreamer linux-rootfs/packages
$sudo cp -r rk-rootfs-build/packages/armhf/video linux-rootfs/packages
$./ch-mount.sh -m linux-rootfs
Now you are in the shell of rootfs, please work here.
#dpkg -i /packages/rootfs_gstreamer/01_dep/*.deb
#dpkg -i /packages/rootfs_gstreamer/02_dep/*.deb
#dpkg -i /packages/rootfs_gstreamer/*.deb
#dpkg -i /packages/video/mpp/librockchip-mpp1_*_armhf.deb
#dpkg -i /packages/video/mpp/librockchip-mpp-dev_*_armhf.deb
#dpkg -i /packages/video/gstreamer/gstreamer1.0-rockchip*.deb
After installation, please remove the packages and exit
#rm -rf packages
#exit
$./ch-mount.sh -u linux-rootfs
If unmount failed, please reboot your computer.
If you do not want to login automatically, please ignore this step.
$sudo cp rootfs_autologin/autologin.conf linux-rootfs/etc/lightdm/lightdm.conf.d/
$./mkimage.sh linux-rootfs linux-rootfs.img
After this, linux-rootfs.img will be created.
$cd rock-tool
$cp ../linux-boot.img Image
$cp ../linux-rootfs/linux-rootfs.img Image
$./mkupdate.sh
Finally, update.img will be created.
$sudo cp tools/Linux_Upgrade_Tool_v1.2/upgrade_tool /usr/local/bin
update.img is an all-in-one image, download it to board will upgrade the system.
Steps:
- Press the recovery button and reset button at the same time.
- Free the reset button and hold on the recovery button for more than 2 seconds.
- Now, the board entry the loader model, and use follow command to upgrade:
$sudo upgrade_tool uf update.img
- Please wait, after flash success, the board will reboot automatically.
When the board startup first time, it may take a long time to show desktop, please wait. If can still not show desktop, please reboot the board.
boot.img is consist of ramdisk and kernel, here renames it as linux-boot.img. When just upgrade the kernel, it is not necessary to make a new update.img again. It saves a lot of time.
Steps:
- Press the recovery button and reset button at the same time.
- Free the reset button and hold on the recovery button for more than 2 seconds.
- Now, the board entry the loader model, and use follow command to upgrade:
$sudo upgrade_tool di -b linux-boot.img
- After download success, press reset button to reboot system.
- Ethernet Network: OK
- Wireless network: OK
- 3.5mm Audio: OK
- VGA output: OK
- HDMI output: OK
- LVDS output: OK
- Bluttooth: NG // You can use usb bluetooth adaptor instead
VGA or LVDS can only enabled one at the same time, select at kernel build step.
