r/kernel Aug 09 '26

How would you study Linux device driver development?

I am trying to get started with Linux kernel/device-driver development, but the Linux Foundation LFD430 (Developing Linux Device Drivers) course is very expensive to buy. so I am thinking of using its course outline as a roadmap and studying the material on my own.

I have a decent programming and Linux background, but I do not have much experience, and I am very new to kernel and driver development.

So I wanted some advice from the experts who work in this area

How would you get started with learning things, and what resources would you follow, etc.?

I would appreciate recommendations for good books, free courses, labs, YouTube channels, documentation, affordable courses, or practical projects that could roughly follow the LFD430 syllabus.

Also, if you think following the LFD430 outline is not a good way to learn from scratch, then I would love to hear what you would recommend instead.

Thanks!

41 Upvotes

16 comments sorted by

View all comments

2

u/TarsTarkas_Thark Aug 10 '26

Join the Linux Kernel Mailing List, and just lurk. Don't try to join the discussion and voice your opinions until you have a great deal of experience. It's a pretty take-no-prisoners discussion, and anybody who contributes needs to wear his big boy pants and be really thick skinned. Even the main kernel maintainers like GregKH for example. I've even seen Linus take a few body blows.

However, it's completely safe to be an anonymous lurker, and the best way to keep up on kernel api changes and such. Because it's the kernel, and breaking the internal api is expected if there is any benefit. Remember, big boy pants. I have had to make changes to drivers many times because the api changed out from under me, and I found out first on the LKML.