Categories
Article Linux

Breaking Free from User Space: Writing Your First Kernel Module

This post is Part 3 of a series on the Linux kernel.

Part 1 – Part 2

So we’ve already built the kernel from source and even modified the source code. While these were some pretty cool parlor tricks, isn’t it about time we learned something useful?

Well, I can’t promise that, but today we’ll take a step in the right direction by building a Linux kernel module.

Categories
Article Linux

Making Simple Modifications to the Linux Source

This post is Part 2 of a series on the Linux kernel.

Part 1 – Part 3

The Linux kernel is one of the most complex open-source projects available to the public, and the source code that comprises it is highly intricate, to say the least. Knowing this, I wondered what it would take to pick apart such a technological beast and actually begin to understand it. The key to understanding, like anything else, is to learn by doing. The entire source repository is available to view in a browser, and more than 95% of it is written in C. How hard could it be to write a little C code?

As it turns out, it’s harder than expected. Keep reading to get the full rundown on how I edited the kernel source, built it, broke it (several times), and finally made a simple change that produced an output in the system logs.

Categories
Article Linux

How to Compile the Linux Kernel from Source

This post is Part 1 of a series on the Linux kernel.

Part 2 – Part 3

Linux is everywhere, and there are plenty of Linux distributions available providing great out-of-the-box features. But what happens when you need to make an intricate, low-level change to system functionality? What if you wanted to get into kernel development and start to understand one of the world’s largest open source projects?