How to learn Linux kernel

i wanna become a Linux Kernel developer

My school seems do not provide the relative courses ,through i am a computer science student

We just learn some java, data structure .Professor suggests us learning back-end java develop

We have Computer Organization course ,but professor still suggests us learning Java

and people around me seems do not care about Linux or system develop

so i am in haze trying to figure out my learning path .
any suggest will be appreciated :slightly_smiling_face:

For starters, you'll need to be quite familiar with C. Rust is only used in the leaves of the kernel for the foreseeable future, and mostly in drivers at this point.

Aside from that, the code standards of the kernel are different from what lots of devs are used to (e.g. indentations are 8 spaces there), as well as higher in terms of minimum acceptable quality. And rightly so given the execution context.

Other than that, this forum isn't quite the right place for kernel development, as pretty much all of it is written in C. The aforementioned Rust drivers, taken together with all the infrastructure code for Rust, will likely total < 0.1% of all kernel code at this point.

5 Likes

Thanks yr adversie :slightly_smiling_face:

1 Like

The Linux Programming Interface - still a good read. You can download all the source code (C) of the examples ibidem.

2 Likes

Among books, there is also Linux Kernel Development. It shows its age (it is also from 2010, like TLPI) but could be a good first introduction.

1 Like

There is "Linux Device Drivers" Linux Device Drivers, 3rd Edition[Book] which helped me create some simple drivers back in the day. It's a bit old now, I don't know how much of it is still relevant or if there is a newer version.

2 Likes

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.