This is the second part of our char device driver development tutorial. In part1, we learnt how to write a simple char device driver that supports read or write functions. We dynamically assigned a major number for our driver and using the assigned major, we manually created a device file in /dev directory.
Linux Device Driver Development
In this post we’ll take our 1st step of writing a char device driver for Linux. In our previous post, which I would recommend you to read unless you already did, we created a very simple kernel module. Other than dumping some log message, it didn’t do anything fancy. In this post we’ll create a char device driver … Continued
In previous tutorial we learned how to write a basic kernel module for Linux. This tutorial will explain how we can pass parameters to kernel module using command line arguments. This writing is greatly inspired by The Linux Kernel Module Programming Guide, a great book for device driver developers.
Linux Kernel hast three memory allocator named SLOB, SLAB and SLUB. SLOB allocator is the memory allocator that is used to allocate small amount of memory for Linux kernel objects. Linux kernel objects are different from user mode objects. So we can’t use a user mode application for testing SLOB allocator. For example, if we modify the algorithm used in SLOB … Continued
Writing Linux kernel module is a daunting task. This easy to follow, step by step guide will show us all the steps of writing Linux kernel module. Read this writing to learn about what is a kernel module. This tutorial will be our starting point for writing Linux kernel module. For this one we won’t be using … Continued
Kernel module is a piece of program which can be loaded or unloaded in the kernel dynamically. It is used to extend the functionality of the kernel without rebooting the system. When we attach a new hardware in our computer we have to install a device driver for it. Device driver is a kernel module … Continued