Cloud Native Rejekts EU (Valencia) 2022

eBPF ready kernel 5.10 for minikube
2022-05-15, 17:45–17:50, Main Room

Minikube is a tool used to easily deploy Kubernetes locally.
Sadly, it comes with an old kernel which does not permit running eBPF code.
This contribution is about bumping minikube kernel to 5.10 and adding the needed options to play with eBPF.


Minikube is a tool used to easily deploy Kubernetes locally.
To do so, it can populate a virtual machine to simulate a remote node.
This virtual machine will run a system built by Buildroot which comes with an old kernel.

Buildroot is a tool used in embedded systems to quickly create Linux systems.
It offers you a menuconfig interface where you choose which software you want to have on the system.

This contribution first bumped the kernel version by modifying the corresponding option in Buildroot.
It also added the needed kernel options like CONFIG_DEBUG_INFO_BTF to Buildroot linux .config.
To do so, the linux kernel build process relies on a tool called pahole.
The dependency to this tool was then added to upstream Buildroot, hence when user indicates they want to have a eBPF ready kernel, Buildroot will first download pahole and then build the kernel.

As a result, the built system host linux kernel 5.10 and can run eBPF code.