Study resources for electronics and other subjects

Navigation If you are here for a specific subject, click on its name in the ToC to jump directly to it. Introduction There is a lack of any list of quality resources to study from for (mainly UG) electronics (ECE et al) students. The subjects are much harder than those of CSE counterparts. This means there are a lot of bad resources masquerading as quality ones and get high views, especially on YT, as they essentially serve as last minute prep for students at 3 AM.
Read more →

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 →

Migrated some content

Initial migration of select content from other sources is complete. Any posts before (below) this one are answers or posts I wrote on Quora. The DRM and KUnit intro is from my vain GSoC proposal (should have put more effort). I’ve tried to correct any typos, fix up broken sentences and missing references, etc. without changing the content much. Still, I’m sorry if there are any citation etc. issues in the content, good referencing wasn’t something on the top of the mind for the teenage Quora user.
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 →