Build Linux Kernel for AXON (RK3588)
This guide explains how to build the Linux kernel for the AXON board (RK3588), adapted from Vicharak’s Vaaman kernel documentation.
System Requirements
Recommended OS:
- Ubuntu 20.04+ or Debian 11+
Install dependencies:
sudo apt-get update
sudo apt-get install build-essential python3 python-is-python3 libssl-dev \
git-core gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler \
gcc-aarch64-linux-gnu mtools parted pv bc bison flex gawk
Clone the Vicharak kernel repository:
git clone https://github.com/vicharak-in/rockchip-linux-kernel -b master
cd rockchip-linux-kernel
Configure Environment
Set cross compiler:
export CROSS_COMPILE=aarch64-linux-gnu-
Load Default Config
make O=out ARCH=arm64 rockchip_linux_defconfig
Apply AXON Device Configuration
Replace Vaaman config with AXON config:
cat arch/arm64/configs/rk3588_axon.config >> out/.config
Build Kernel
make O=out ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc --all)
Output Files
After successful build:
-
Kernel Image:
-
out/arch/arm64/boot/Image
-
Device Tree:
-
out/arch/arm64/boot/dts/rockchip/rk3588-axon-linux.dtb
Build Kernel Modules
make O=out ARCH=arm64 modules_install INSTALL_MOD_DIR=out/modules -j$(nproc --all)
Modules will be available in:
out/modules/lib/
Flash Kernel to Device
First back up the kernel with different name.
Check which kernel you are using by running below command.
uname -r
e.g. : 6.1.75-axon
Then. Go to device /boot paritition, and run below command.
sudo mv Image-6.1.75-axon bak-Image-6.1.75-axon
Now, Copy kernel and dtb files to board using ssh
scp out/arch/arm64/boot/Image <user>@<device-ip>:~/
scp out/arch/arm64/boot/dts/rockchip/rk3588-axon-linux.dtb <user>@<device-ip>:~/
scp -vr out/arch/arm64/boot/dts/rockchip/overlays <user>@<device-ip>:~/
scp out/modules_rk3588_axon.tar.gz <user>@<device-ip>:~/
sudo cp Image /boot/Image-6.1.75-axon
sudo cp rk3588-axon-linux.dtb /boot/rk3588-axon-linux-6.1.75-axon.dtb
sudo cp -r overlays /boot/overlays-$(uname -r)/
In order to apply new kernel, Restart the system.
sudo reboot