This document contains links to resources that you might find useful while studying the internals of the Linux kernel. If you find a valuable resource that is not listed here, let me know and I will add it. Be aware that although there is a lot of information on Linux on the Internet, some of that information is quite old and out of date. Always take note of when the documents you are reading were last updated.
If you are interested in compiling your own kernel, my Compiling Linux document provides detailed instructions. This document also includes some notes on related issues such as setting up Cscope, UML, and some other things.
Information about KGDB and KDB can be found on the Wiki and in the official documentation. Here is a blog post with some additional information.
KernelNewbies. This site is specifically designed to help new kernel hackers learn their way around.
Linux Device Drivers. This is a free, online book about how to write device drivers for Linux. Although not technically about kernel internals, the book covers a lot of information about the kernel in order to help a driver author understand how the kernel interacts with drivers.
The Linux Documentation Project contains lots of information about Linux in general. This includes some information about kernel internals.
Linux Kernel 2.4 Internals. This document is old (2002) but it may contain some useful tidbits.
The Linux Kernel Module Programming Guide. This document is moderately old (2007).
Linux Kernel Archive is where you can download the latest kernel (as well as all older kernels).
procfs. This document was written by me and gives some information about the kernel's support for /proc. Warning: This document is very old and in desperate need of revision. It is likely to be inaccurate.
Intel64 and Intel IA-32 documentation direct from Intel. For convenience, the three volumes of the Intel documentation are also available here:
Intel IA-32 assembly language information:
Last Revised: 2023-08-01
© Copyright 2023 by Peter Chapin
<peter.chapin@vermontstate.edu>