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
Build kernel on linux PC
Requirement
$ sudo apt-get install libncurses-dev flex bison libssl-dev git
Get the mainline kernel source
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ cd linux
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 defconfig $ make -j6
Copy arch/arm64/boot/Image and arch/arm64/boot/dts/rk3399-rock-pi-4.dtb to your ROCK Pi 4.
Install it on ROCK Pi 4.
Copy files
$ sudo cp Image rk3399-rock-pi-4.dtb /boot/
Configure
$ sudo vim /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.