YoVDO

Linux Device Drivers Development Course for Beginners

Offered By: freeCodeCamp

Tags

Embedded Systems Courses Linux Courses System Calls Courses Makefiles Courses Device Drivers Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Embark on a comprehensive 5-hour course designed for beginners to master Linux device driver development. Dive into the essential software that bridges the gap between operating systems and devices like keyboards and printers. Set up development environments across different operating systems, explore the Linux kernel, system calls, and the /proc filesystem through hands-on learning. Begin with an introduction to the course layout and sandbox environment for experimentation, then progress through setup processes for Mac, Linux, and Windows. Delve into the Linux kernel, system and bootup processes, and understand the concepts of user space, kernel space, and system calls. Create your first loadable module, explore make and makefiles, and learn about crucial utilities like lsmod, insmod, and rmmod. Investigate the proc file system, implement read operations, and discover how to pass data from kernel space to user space. Conclude with a user space application challenge and a recap of the journey, setting the stage for further advancement in device driver development.

Syllabus

⌨️ Who we are and our mission
⌨️ Introduction and layout of the course
⌨️ Sandbox environment for experimentation
⌨️ Setup for Mac
⌨️ Setup for Linux
⌨️ Setup for Windows
⌨️ Relaunching multipass and installing utilities
⌨️ Linux Kernel, System and Bootup
⌨️ User Space, Kernel Space, System calls and device drivers
⌨️ File and file ops w.r.t device drivers
⌨️ Our first loadable module
⌨️ Deep Dive - make and makefile
⌨️ lsmod utility
⌨️ insmod w.r.t module and the kernel
⌨️ rmmod w.r.t module and the kernel
⌨️ modinfo and the .mod.c file
⌨️ proc file system, system calls
⌨️ Exploring the /proc FS
⌨️ Creating a file entry in /proc
⌨️ Implementing the read operation
⌨️ Passing data from the kernel space to user space
⌨️ User space app and a small challenge
⌨️ Quick recap and where to next?


Taught by

freeCodeCamp.org

Related Courses

Architecture 2001: x86-64 OS Internals
OpenSecurityTraining2 via Independent
操作系统原理(Operating Systems)
Peking University via Coursera
Windows 11 Internals: Foundations
Pluralsight
Operating System
Indian Institute of Technology Delhi via Swayam
Linux kernel Module and driver Programming for x86
Udemy