Linux Kernel Development Course
What you'll learn
- 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
Requirements
- C programming skills is recommended
Description
Daniel McCarthy has worked in senior Linux kernel development positions creating third party kernel drivers for the Linux kernel for a private company. This course is designed for beginners who want to learn kernel development
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 how to write kernel drivers a lot of the time 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.
Who this course is for:
- Beginner Kernel Developers
Instructor
I am a software engineer that has been programming for 14+ years I have a Masters Degree in Advanced Computer Science from Cardiff Metropolitan University. My experience is extensive and covers web development all the way to compiler and interpreter development. I have also developed bootloaders and kernels that can boot from the FAT(File Allocation Table) filesystem.
I have developed two programming languages of my own. One is called Craft language. The other is called Marble which is a web language like PHP. Ive developed C compilers as well.
I have experience in the following programming languages: C, C++, Java, x86 Assembly language, PIC assembly, SQL, PHP, HTML5, JAVASCRIPT, CSS, Craft, Marble
I also have programmed Linux kernel modules professionally in the workplace.
These days I am focused on providing my years of expertise to students to help them grow as professional software engineers.