Posts for: #Kernel

Running keyutils tests

It’s not very apparent how to run the tests in the keyutils repo ( kernel/git/dhowells/keyutils.git - Key management utilities), especially if you don’t work on kernel areas like keyrings and watch queue. Running tests does require some kernel preparation. Searching on internet fetches you limited information. So I looked further what would cause some failures by looking at the test code. I was able to run all the test using the following config options enabled (you can paste in a file and then use the merge_config script, see my previous post):
Read more →

Kernel QEMU setup for development and debugging

Introduction Setting up kernel for debugging can be a confusing task for a beginner. It certainly was for me when I was starting out. In this post, I’ll outline a way to quickly set up your computer to compile and run kernels on the fly. You need to never hassle about it again, we will make aliases along the way so that you just have to use simple commands to do things.
Read more →

High level introduction to KUnit

KUnit is a unit testing framework for the Linux kernel. It is inspired by other x-unit testing frameworks (JUnit, Python unittest). According to Brendan Higgins (the author of KUnit) at LPC2019, the need for yet another framework is because other frameworks have their own style and conventions, which does not match kernel conventions. Since the kernel community is huge and telling everyone to change their conventions is a laborious idea, KUnit was made specifically to cater to kernel standards and usage.
Read more →

High level introduction to DRM subsystem

About DRM subsystem Direct Rendering Manager is very central from the point of view of usability — it is the subsystem responsible for showing what is on our screen, including this post. As such, it is directly responsible for enabling the wide adoption of Linux distros, and is what the user is visibly impacted by. The DRM subsystem is populated largely by display drivers mainly maintained by the companies who make GPUs.
Read more →

The curious mouse click

A fine 45°C May afternoon, with no one to disturb in a room with ceiling fan at full speed and a window AC, was the perfect opportunity for me to study for my upcoming offline end-semester examinations with books on the table at the window. Of course, after studying for quite some time, a break is needed, and I probably took a short break of just 3 hours. While goofing off on the internet, I came across the Linux Kernel Mentorship Program (LKMP), which is described1 as:
Read more →