Summary:
This post describes the tutorial on Linux kernel build configuration and modules. The tutorial introduces the basic idea of kernel modules, then guides the reader through creating a simple example module, adding the correspondingKconfig and Makefile entries, enabling the new symbol through kernel configuration, rebuilding the kernel and modules, installing those modules into the ARM64 virtual machine, and testing them from inside the guest system.
It also explains how module loading works in practice with commands such as modinfo, insmod, rmmod, and modprobe, and closes by showing a simple example of dependencies between kernel features by exporting a symbol from one module and rebuilding only a subset of the tree. The tutorial includes both kw-based and non-kw workflows, but I followed the version of the instructions that uses kw.
My experience:
Everything worked smoothly. I followed the version of the instructions that useskw, and overall the workflow was straightforward from configuration to building, installing, and testing the module.
The only small adjustment I had to make was using kw build --menu instead of make -C "$IIO_TREE" menuconfig when opening the kernel configuration interface. Aside from that, the steps worked as expected.