Rockpi4/dev/kernel-mainline
ROCK Pi 4 > Development > Build mainline kernel(5.x)
ROCK Pi 4 is officially supported in mainline kernel since v5.1 thanks to developer Akash Gajjar from Mentor. Below is how to build it on a X86 Linux host PC and run on ROCK Pi 4.
Contents
Get the mainline kernel source
wget https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-5.2-rc6.tar.gz tar -xvzf linux-5.2-rc6.tar.gz cd linux-5.1.15/
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 ARCH=arm64 export CROSS_COMPILE=/usr/local/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
Build kernel
make menuconfig
- In the menu-config TUI:
*Navigate to Platform selection ---> Rockchip Platforms *Select Rockchip Platforms
make -j6
copy arch/arm64/boot/Image and arch/arm64/boot/dts/rk3399-rock-pi-4.dtb to your ROCK Pi 4.
If you run on debian you should Install the latest u-boot and kernel before Install mainline kernel on ROCK Pi 4.
Install the latest u-boot and kernel
apt-get install rockpi4b-rk-u-boot-latest
Manually run the u-boot flash script
/usr/local/sbin/rockpi4b_upgrade_bootloader.sh
Type YES to perform the uboot.img flashing.
then install kernel
apt-get install linux-base apt-get install linux-4.4-latest
After installation, check file /boot/extlinux/extlinux.conf. It lists all kernel version installed in ROCK Pi. The kernel corresponding to the first label is the newest version and the first boot option.
Install it on ROCK Pi 4.
rockpi4# cp Image rk3399-rock-pi-4.dtb /boot/ rockpi4#vi /boot/extlinux/extlinux.conf
- Change the contents to:
label kernel-mainline kernel /Image fdt /rk3399-rock-pi-4.dtb append earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m earlyprintk console=ttyS2,1500000n8 rw root=PARTUUID=b921b045-1d rootfstype=ext4 init=/sbin/init rootwait
Reboot you will have the new kernel booting.