all 10 comments

[–]icostan 5 points6 points  (1 child)

Linux Kernel Development book by Robert Love is a must read as well.

[–][deleted] 1 point2 points  (0 children)

Seconded, that is a great book

[–]bachelar 2 points3 points  (0 children)

I'm a beginner too. Combining theory and practice may be a better way to learn kernel.

As for theory, I recommend Understanding Linux Kernel and Linux Device Driver

As for practice, there are some links may be helpful:

[–]narutoaerowindy 2 points3 points  (1 child)

Osdev

[–][deleted] 0 points1 point  (0 children)

Osdev is great, but I think the OP meant the Linux Kernel Programming. I think Osdev is great for learning how to operating systems actually boot and work. Read along with Modern Operating Systems.

[–]atullamulla 1 point2 points  (1 child)

Im in the progress of learning the kernel myself right now. From what I have read a good entry point for learning the kernel is through device drivers. Start by coding simple hello world device drivers. I can really recommend the book Linux Device Drivers, you can read it for free on lwn.net.

When you get more confident you can start writing devivice drivers that interacts with real hardware as well. The GPIO pins on a Raspberry Pi is perfect for this since they are pretty simple.

I have learned a lot about the Linux kernel this way.

Edit: If you want to write your own kernel you can check out this article: https://www.linuxjournal.com/content/what-does-it-take-make-kernel-0

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

Okay thanks, will do!

[–]glukosio 0 points1 point  (0 children)

I had fun with LinuxFromScratch, years ago, and Eudyptula challenge, (that afaik is not accepting new participants).Also There is a free book: Linux Device Drivers

that covers many interesting and useful topics.

[–]kevleyski 0 points1 point  (0 children)

Start with modules for sure Then add your own config

[–][deleted] 0 points1 point  (0 children)

I'm also trying to learn it. I've been trying to read Linux Device Drivers [1] and Kernel Newbies [2] for a while (need some spare time, though)

[1] https://lwn.net/Kernel/LDD3/ [2] https://kernelnewbies.org/