Roadmap to Linux development -- Kernel and Utilities

Elias Kouskoumvekakis eliaskousk at gmail.com
Tue Mar 26 14:34:46 EDT 2019


> Tue Mar 26 08:19:23 EDT 2019 Milad Kahsari <m.kahsari at gmail.com>:
>
> Hi folks, I am looking for a new and updated roadmap for Linux
Kernel/Patch development from scratch. for example, it teaches what
knowledge we need and how should we contribute to the project. Is there any
roadmap as such for taking?
>

Hi Milad,

the following helped me a lot while learning the basic kernel concepts:

- Linux Device Drivers, 3rd Edition book (LDD3)
- Linux Kernel Development, 3rd edition book (LDK)
- Linux Kernel Labs: https://linux-kernel-labs.github.io/master/
- MIT OS Course Labs: https://pdos.csail.mit.edu/6.828/2018/index.html

I suggest you start with the LDD3 book which although a bit old, it's
easier and more focused than the LKD book. You can then proceed with the
LKD book which covers more parts of the kernel in a higher level style.

To complement your study of concepts from the book you should follow the
Linux kernel labs. They are a great way to experiment and have a bit of fun.

The last resource is optional but imho it helps a lot to take a good course
on OS design and implementation while studying the Linux kernel, even if
you have previously took one (i.e from your university). The MIT course has
great labs that will force you to dive deep into not so easy concepts like
memory management, page tables etc. that are the core of a kernel. They are
also based on XV6, a very small kernel that you can fully understand in a
reasonable time (Linux is no such case).

Have fun!

Elias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20190326/5dc3d814/attachment.html>


More information about the Kernelnewbies mailing list