Since you do not mention if you're already a pro with OS internals and implementations, I will assume, maybe incorrectly, that you're not.<p>So in that spirit, try the XinuOS. It has the complete source code for a minimal, clean and practical OS. Search for the book explaining it inside out.<p>xv6, a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6) also comes to mind.<p>And C. Don't forget to sharpen your C skills.
Read the Linux programming interface by Michael Kerrisk. It will tell you what Linux should be doing for you ( the api basically and what subsystems exist). Read lwn, kernel newbies to get a feel of what’s happening in the kernel.<p>Get knowledge of operating systems ( I like the minix book by tanenbaum ). Learn about Linux internals ( I like linux kernel development by Robert love)<p>Then, pick bits you’re interested in and jump !
Linux Kernel Development by Robert Love. It's spectacularly out of date but is still a good starting point. And Elixir is very helpful for browsing the source code and comparing chnages across kernel version: <a href="https://elixir.bootlin.com/linux/latest/source" rel="nofollow">https://elixir.bootlin.com/linux/latest/source</a>
Linux Core Kernel Commentary: Guide to Insider's Knowledge on the Core Kernel of the Linux Code<p><a href="https://www.amazon.com/Linux-Core-Kernel-Commentary-Knowledge/dp/1576104699" rel="nofollow">https://www.amazon.com/Linux-Core-Kernel-Commentary-Knowledg...</a><p>Understanding the Linux Kernel, Third Edition 3rd Edition<p><a href="https://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652" rel="nofollow">https://www.amazon.com/Understanding-Linux-Kernel-Third-Dani...</a>
Without more details I assume you just want the source code and documentation. One could either clone the repositories [1] or just browse the CDN access to the docs and kernels. [2] The latest kernel is in the v6.x directory.<p>[1] - <a href="https://github.com/torvalds/linux">https://github.com/torvalds/linux</a><p>[2] - <a href="https://cdn.kernel.org/pub/linux/kernel/" rel="nofollow">https://cdn.kernel.org/pub/linux/kernel/</a>
Have you considered ''Linux From Scratch'' as an element of your research?<p><a href="https://www.linuxfromscratch.org/" rel="nofollow">https://www.linuxfromscratch.org/</a><p>Building a Linux kernel and system with your own specific configuration tweaks may reveal things that the best of books, manuals, courses, etc. might not cover.
This older comment thread may be useful: <a href="https://news.ycombinator.com/item?id=19225268" rel="nofollow">https://news.ycombinator.com/item?id=19225268</a>
<i>Understanding the Linux Kernel, Third Edition</i> is now horribly out of date, but it's a good place to start if you've never read it before.