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 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 -b 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.
Linux system
Default user account
Non-root User:
User Name : rock Password : rock
Serial console
The u-boot console is ttyS2 with baud rate 1500000bps, date bit 8, stop bit 1, parity none.
The kernel console is ttyS1 with baud rate 1500000bps, date bit 8, stop bit 1, parity none.
The default serial setting of serial tool on Host PC:
baudrate: 1500000 data bit: 8 stop bit: 1 parity : none flow control: none