These free resources have been a great help to me in my kernel studies.
First is the Linux Cross Reference at Free Electrons. The Identifier Search provides a quick and easy way to grep your way through the sources, because the identifiers in the code are clickable. It’s great for drilling down to the roots of a macro.
Then there’s Mel Gorman’s book, “Understanding the Linux Virtual Memory Manager“. He warned me that it was outdated, and some of it is; but some things, such as the layout of page tables, don’t change very often. It has diagrams. I like diagrams.
Another great book is Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. It explains how the kernel deals with modules, and how they are constructed.
Prefer to watch and listen? Youtube has you covered.