- 2m
- 3m
- 15m
- 4. Building Character Devices 30m
- 5. Helpful Resources 5m
- 6. File Operations Explained 7m
- 7. Files, Inodes, Dentry's And Inode Operations 10m
- 8. Thanks For Watching 1m
Building A Linux Kernel Module
About this course
- You will learn how to build a linux kernel module
- You will learn how to build a character device
- You will learn essential linux skills
- C programming skills is recommended
Have you ever wanted to create your very own Linux kernel module and start writing kernel code?
Well this step by step course is designed to teach you just that, we start off by installing all the dependencies we need, then we create the simplest kernel module we can a "Hello World" module that just prints "Hello World" from kernel space.
Finally we create a character device module that allows user programs to send data to us and read data from us. Think "/dev/random"
During the time I taught myself all of this many times I found articles from 2004 and they were outdated, this makes kernel development very difficult but I learnt a trick to make it all easier which I share in this course.
This course is designed to clear up all the misconceptions every detail of what we are doing is explained in depth and nothing is left out
Taught by an expert that that has created kernel modules professionally in the work place. Primarily virtual file system modules
Who this course is for:- Beginner Kernel Developers
What you'll learn
- Build a practical understanding of Building A Linux Kernel Module.
- Follow structured lessons with real project work.
- Strengthen your low-level programming fundamentals.
- Prepare for deeper systems programming topics.
Curriculum
8 Lessons • 1h 8m estimated learning time
- 4.90 instructor rating
- 18 courses
- 1,418 students worldwide
Daniel McCarthy
Daniel McCarthy is a seasoned software engineer, boasting an impressive career spanning over 14 years in the industry. Holding a Master's Degree in Advanced Computer Science from Cardiff Metropolitan University, his broad spectrum of experience encompasses everything from web development to complex compiler and interpreter development.
Daniel has honed his skills in bootloader and kernel development. In testament to his proficiency in the field, he has designed two proprietary programming languages: Craft, a general-purpose language, and Marble, a web-focused language akin to PHP. Moreover, he has successfully developed compilers for the C programming language.
A testament to his versatility, Daniel demonstrates proficiency in an extensive list of programming languages that includes C, C++, Java, x86 Assembly language, PIC assembly, SQL, PHP, HTML5, JavaScript, CSS, and of course, his own creations, Craft and Marble.
His professional portfolio also includes the development of Linux kernel modules, a task he has executed with proficiency in a professional context. Currently, Daniel is channeling his wealth of experience and expertise into the education sector, with the aim of nurturing the next generation of professional software engineers.
Student reviews
I really like your explanation and I would love to see how to implement real life Linux modules