What you'll learn:
- Write modules to insert in kernel to alter the behavior and functionality of Linux kernel.
- Student should be able to compile linux kernel from official git source or download the standalone kernel for compilation
- The course introduces the concept of device driver and Major and minor number to effectively write a linux driver as a module or in kernel
- In depth explanation of jiffies and utilization of jiffies for getting either timer tick or clock for further work in those areas
- Understanding of device file, node, major number, minor number and numerous calls with respect to rebuffs
- Understanding of kernel file system and data structure like proc, debuts etc for easy kernel debugging
This course guides a student for the basic understanding of Linux Kernels
Familiarize students with kernel compilations and different ways to achieve the same.
Introduce the character device Driver and explained in details like copy_to_user and copy_from_user
Explained the concept of Jiffies and a practical example of working Jiffies code
Explained in depth about debugfs and its various calls.
Explained in details with the help of power pointas to how system call works.
The course providesthe various way a system call can be invoked using software interrupt or directly invoking the syscall layer.
At the end of this course students would be well versed in kernel compilation and writing modules on Linux kernel.
This lecture series also guides students as to how to effectively get involved with Linux open source community and write patches which would be accepted upstream.
The course intends to build a niche in students who are devoted in kernel programming but couldn't gather enough resource at single location to build a career out of it.
The intention is to give a build blocks to students to understand the kernel, driver, file system, compilation, module insertion, deletion, device file, communication between user level and kernel level and how to code from kernel perspective rather than general c code.
In depth details of the explanation of concepts to communicate with kernel using either copy_from_user, copy_to_user or using the debugfs or proc fs.
Explained in details how to use virtual machine like VMware fusion of VMware workstation to setup a system for Linux kernel compilation and programming as virtual machines we can take snapshots and if there is problem we can simply revert to older snapshots for quick development, without corrupting the entire Operating system.