Consider reading books on general operating system concepts, as those tend to explain better concepts which are used on Linux as well as other OS.
Linux kernel documentation kind of sucks.
Most function definitions or declarations don't contain any comments, so you really need to have a book in your hands to understand the high level of things.
-
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitThe source code, the only definitive source.
Also see the built-in documentation at
Documentation/.Ways to browse:
-
the most official way is the cgit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
-
GitHub mirror https://github.com/torvalds/linux
-
Has ctag-like hyperlinks in the kernel code.
Possible alternatives:
ctagsandgrep.
-
-
Kernel mailing lists.
Mostly bleeding edge design decisions.
linux-kernel: is the highest volume one. TODO: better replies than Stack Overflow?linux-newbie: looks like a good one for meWeb UIs suck: http://unix.stackexchange.com/questions/90080/how-do-i-search-the-linux-kernel-mailing-list-archives
-
Official bug tracker: https://bugzilla.kernel.org/
Not used by many developers, most stick to the mailing list...
-
make htmldocon the source.Generates documentation for the kernel from comments, and puts it under
Documentation/DocBook/index.htmlThe most useful is under
kernel api. Still, this is grossly incomplete.The documentation seems to be stored in the
.cfiles mostly rather than on the.h.Weirdly the snapshots of htmldoc on kernel.org have some extra functions, check it out: https://www.kernel.org/doc/htmldocs/kernel-api.html
-
http://0xax.gitbooks.io/linux-insides/content/Initialization/linux-initialization-4.html
Good book.
Above all: hosted on GitHub.
-
kernel.org resources list
Wiki for some subprojects: https://wiki.kernel.org/
-
Embedded Linux wiki.
Supported by the Linux kernel.
-
Corbet - 2005 - Linux Device Drivers
Ultimate device driver source.
-
Interviews with many kernel devs:
https://www.linux.com/news/special-feature/linux-developers
Good getting started info.