Linux Kernel Driver Development
What you'll learn
- Introduction to Linux Kernel Driver development, Basics understanding of Linux kernel, Code Compilation Techniques, Automating build steps using Makefile, Writing basic Linux drivers and submitting your first kernel patch.
- Basic understanding of C program, Enthusiasm to learn new stuff
Starting your journey in the Linux device driver development is a pain for beginners. This course is designed to clear the air and provide the right insights for beginners to get started in device driver development.
Before jumping right away into development it is better to know the basics and need of device drivers. So, the course begins with an introduction to Linux kernel architecture, the role of device drivers.
Course Structure Includes:
Introduction to Linux Kernel architecture.
Role of device drivers and their use case.
Intermediate steps involved in the compilation process.
Cross Compilation for the target architecture.
Kernel APIs understanding for getting started.
Implement a Hello World module.
Module Building, inserting, and checking status procedure.
__init and __exit keywords and their use case.
Character driver implementation.
Implementing read, write operations for the character driver.
Creating and submitting our first Linux kernel patch.
This course, if well practiced well enough along with supported theory and lecture, is good enough for any beginner to get started in device drivers development.
As time proceeds, I will be updating the course contents with the additional drivers and techniques for debugging the drivers.
Hope you will enjoy and have fun learning.
Who this course is for:
- Beginners who want to get started in the Linux kernel development, driver design, workflow in kernel driver development
A competent professional with vast experience in Embedded Software Development.
Working on Linux device drivers, kernel development, debugging, embedded systems design, real time systems, bootloader, Xen hypervisor and virtualization techniques.
Open source enthusiast and an active follower of developments in open source community. Write me up with an email or in twitter for any queries regarding the course or any technical questions.