-
Notifications
You must be signed in to change notification settings - Fork 91
Home
The easiest way to determine the kernel you’re running is to type cat /proc/version_signature
on the terminal.
For example:
$ cat /proc/version_signature
Ubuntu 6.1.0-1025.25-rockchip 6.1.75
This output provides important information about the kernel:
- Ubuntu kernel-release = 6.1.0-1025.25-rockchip
- kernel version is 6.1, which is identical to upstream kernel version
- .0 is an obsolete parameter left over from older upstream kernel version naming practices
- -1025 application binary interface (ABI) bump for this kernel
- .25 upload number for this kernel
- -rockchip is kernel flavor parameter indicating optimizations for Rockchip hardware
This step can be skipped if no configuration changes are wanted.
The build process uses a kernel configuration located at debian.rockchip/config/config.common.ubuntu
in the kernel source tree. In order to make your kernel "newer" than the stock Ubuntu kernel from which you are based, you should add a local version modifier. Add something like "+test1" to the end of the first version number in the debian.rockchip/changelog
file, before building. This will help identify your kernel when running as it also appears in uname -a. Note that when a new Ubuntu kernel is released that will be newer than your kernel (which needs regenerating), so care is needed when upgrading.
Building the kernel is quite easy. Change your working directory to the root of the kernel source tree and then type the following commands:
export $(dpkg-architecture -aarm64)
export CROSS_COMPILE=aarch64-linux-gnu-
export CC=aarch64-linux-gnu-gcc
export LANG=C
fakeroot debian/rules clean binary-headers binary-rockchip do_mainline_build=true
If the build is successful, several .deb binary package files will be produced in the directory above the build root directory.
Some platforms exhibit a vast delta to the primary kernel code base. It is common for this delta to change platform-agnostic code in ways which create risk for other platforms and are not yet accepted upstream. In these cases it is desirable to create a separate kernel for this platform to contain the risk.
where a specific platform requires patches that are not currently applicable to the primary kernels
- Source code:
jammy
- Rockchip SDK release:
linux-5.10-gen-rkr8
- Source code:
noble
- Rockchip SDK release:
linux-6.1-stan-rkr3