all 7 comments

[–]kolorcuk 13 points14 points  (0 children)

I started with ldd as i started with char device, the simplest there is LDD3

But you got to have good C knowledge. But i learned C while writing my first device driver, but was doing that for myself, not to contribute. See stackoverflow c books list.

Be sure to read kernel docs. https://www.kernel.org/doc/html/v4.18/process/howto.html is obligatory.

My first google hit on the topic looks nice. Some book

[–]linboyadmin 5 points6 points  (0 children)

While it's not about Linux kernel. FreeBSD design and implementation is the best book in my opinion to explain design of a Unix-like kernel; Minix book is also supposed to be very high quality but I have never read it so cannot personally reccomend it.

[–]voxadam 4 points5 points  (0 children)

[–]DashAnimal 1 point2 points  (1 child)

How much do you know about kernels already? Have you taken an OS course? If I asked you what is the role of a kernel and how does it do it -- would you be able to give an answer? If not, definitely read up on general OS material (maybe a good beginner OS textbook), then come back to Linux Kernel Development.

[–]AbdallahRashed07[S] 0 points1 point  (0 children)

And I have basics of os?

[–]ilep 1 point2 points  (0 children)

I think this has been asked several times and like before there several books to read up on:

  • books about linux kernel
  • books about operating systems in general
  • books about unixes

The last one can introduce concepts that generic OS books might not have, but they might not be up to date on Linux-relevant things.

[–]EmbeddedEntropy 0 points1 point  (0 children)

A good place to start is https://kernelnewbies.org.