Rockpi4/dev/Debian/es es
ROCK Pi 4 > Desarrollando > Compilando Debian
Contents
El SDK de Rockchip para Debian
A continuación están las instrucciones sobre cómo construir una imagen Debian para el ROCK Pi 4.
Obtener el código fuente
Necesitarás Git para usar múltiples repositorios git en la construción de la imagen.
Instala Git si no lo tienes.
sudo apt-get update sudo apt-get install git
Clona el código fuente
git clone --recursive https://github.com/radxa/rockchip-bsp.git
Bájate
build kernel README.md rkbin rootfs u-boot
Estos directorios contienen instrucciones para:
- build:
- Ficheros de script y ficheros de configuración para compilar u-boot, el núcleo y el rootfs.
- kernel:
- El código fuente del núcleo, la versión actual es la 4.4
- rkbin:
- Binarios precompilados de Rockchip, se incluye el cargador de primera etapa, y el Firmware ATF(Arm Trustzone Firmware).
- rootfs:
- Bootstrap es un rootfs basado en Debian, soporta las arquitecturas armhf y arm64 de Debian Jessie y Stretch.
- u-boot:
- u-boot como segunda etapa de cargador de arranque
Instalar el toolchain y las demás herramientas de construcción
sudo apt-get install gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools
Compilando u-boot
./build/mk-uboot.sh rockpi4b #Para ROCK Pi 4 Modelo B
The generated images will be copied to out/u-boot folder
ls out/u-boot/ idbloader.img rk3399_loader_v1.12.112.bin trust.img uboot.img
Build kernel
Build kernel with default rockchip_linux_defconfig
./build/mk-kernel.sh rockpi4b #For ROCK Pi 4 Mode B
Change kernel config(optional)
Optionally, if you want to change the default kernel config
cd kernel export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- make rockchip_linux_defconfig make menuconfig cd .. ./build/mk-kernel.sh rockpi4b #For ROCK Pi 4 Mode B
You will get the kernel image and dtb file
ls out/kernel/ Image rockpi-4b-linux.dtb
Make rootfs image
To build 32bit rootfs:
export ARCH=armhf
To build 64bit rootfs:
export ARCH=arm64
Building a base debian system by ubuntu-build-service from linaro.
cd rootfs sudo apt-get install binfmt-support qemu-user-static sudo dpkg -i ubuntu-build-service/packages/* # ignore the broken dependencies, we will fix it next step sudo apt-get install -f RELEASE=stretch TARGET=desktop ARCH=$ARCH ./mk-base-debian.sh
This will bootstrap a Debian stretch image, you will get a rootfs tarball named linaro-stretch-alip-xxxx.tar.gz.
Building the rk-debain rootfs with debug:
VERSION=debug ARCH=$ARCH ./mk-rootfs-stretch.sh && ./mk-image.sh
This will install Rockchip specified packages and hooks on the standard Debian rootfs and generate an ext4 format rootfs image at rootfs/linaro-rootfs.img.
Combine everything into one image
build/mk-image.sh -c rk3399 -t system -r rootfs/linaro-rootfs.img
This will combine u-boot, kernel and rootfs into one image and generate GPT partition table. Output is
out/system.img
Flash the image
For normal users, follow instructions here. You will need the generated out/system.img only.
For developers, flash from USB OTG port, follow instructions here. You will need the flash helper rk3399_loader_xxx.bin and generated out/system.img files.
Troubleshooting
Check ROCK Pi 4 FAQs first, if it doesn't help, start a new post on the forum https://forum.radxa.com/c/dev