RockPro-px30
Contents
ROCK Pro PX30
Introduction
Hardware
Development
Get the source code
Create top directory, rockchip-bsp.
mkdir rockchip-bsp
u-boot. The second stage bootloader.
git clone -b stable-4.4-px30 https://github.com/radxa/u-boot.git
kernel. Current version is 4.4.
git clone -b stable-4.4-px30 https://github.com/radxa/kernel.git
rkbin. Prebuilt Rockchip binaries, include first stage loader and ATF(Arm Trustzone Firmware).
git clone -b stable-4.4-px30 debian https://github.com/radxa/rkbin.git
build. Some script files and configuration files for building u-boot, kernel and rootfs.
git clone -b debian https://github.com/radxa/build.git
Install toolchain from Linaro
wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz sudo tar xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C /usr/local/ export CROSS_COMPILE=/usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- export PATH=/usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PATH
Check if Linaro toolchain is the default choice:
which aarch64-linux-gnu-gcc /usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
Install other build tools
sudo apt-get install gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools sudo apt-get install bc python dosfstools
Build U-Boot
./build/mk-uboot.sh rockpropx30
The generated images will be copied to out/u-boot directory.
ls out/u-boot/ idbloader.img px30_loader_v1.14.120.bin trust.img uboot.img
Pack U-Boot
./build/pack-uboot.sh rockpropx30
The generated packages will be copied to out/packages directory.
ls out/packages/ rockpropx30-rk-ubootimg_2017.09-03569-g8d4bb4e_all.deb
Build Kernel
./build/mk-kernel.sh rockpropx30
You will get the kernel image and dtb file
ls out/kernel/ Image px30-rockpro.dtb
Pack Kernel
./build/pack-kernel.sh -d px30_linux_defconfig -r 1 # px30_linux_defconfig: kernel defconfig; 1: release-number
The generated packages will be copied to out/packages directory.
ls out/packages linux-headers-4.4.189-1-rockchip-gc71f0d4_4.4.189-1-rockchip_arm64.deb linux-image-4.4.189-1-rockchip-gc71f0d4_4.4.189-1-rockchip_arm64.deb linux-image-4.4.189-1-rockchip-gc71f0d4-dbg_4.4.189-1-rockchip_arm64.deb linux-libc-dev_4.4.189-1-rockchip_arm64.deb
Build system image
Get source code.
git clone -b master https://github.com/radxa/debos.git
Build docker and enter docker container.
./dev-shell # build docker and enter docker container
Build system image in Docker container.
./build.sh # will show usage ./build.sh px30-rockpropx30-debian-buster-xfce4-arm64
The generated system image will be moved to output directory.
Downloads
System images are on the RockPro PX30 images site.
Installation
Install on eMMC module
Step 1:Boot the board to maskrom mode
To boot RockPro PX30 into maskrom mode, you need:
- Plug the board to Linux Desktop with the USB Male A to Micro B cable
- Press and hold the maskrom key, then short press reset key
- Release maskrom key
Now on Linux PC, rkdeveloptool ld command shows the following message.
$ rkdeveloptool ld DevNo=1 Vid=0x2207,Pid=0x330d,LocationID=102 Maskrom
Step 2: Write system image to eMMC Module
$ rkdeveloptool db px30_loader_v1.14.120.bin $ rkdeveloptool wl 0 rockpipx30_debian_buster_xfce4_arm64_20200609_0710-gpt.img $ rkdeveloptool rd
Now the device should boot from eMMC now. The first boot would take several minutes.