1 .. _kernel_docs: 1 .. _kernel_docs: 2 2 3 Index of Further Kernel Documentation 3 Index of Further Kernel Documentation 4 ===================================== 4 ===================================== 5 5 6 The need for a document like this one became a 6 The need for a document like this one became apparent in the linux-kernel 7 mailing list as the same questions, asking for 7 mailing list as the same questions, asking for pointers to information, 8 appeared again and again. 8 appeared again and again. 9 9 10 Fortunately, as more and more people get to GN 10 Fortunately, as more and more people get to GNU/Linux, more and more get 11 interested in the Kernel. But reading the sour 11 interested in the Kernel. But reading the sources is not always enough. It 12 is easy to understand the code, but miss the c 12 is easy to understand the code, but miss the concepts, the philosophy and 13 design decisions behind this code. 13 design decisions behind this code. 14 14 15 Unfortunately, not many documents are availabl 15 Unfortunately, not many documents are available for beginners to start. 16 And, even if they exist, there was no "well-kn 16 And, even if they exist, there was no "well-known" place which kept track 17 of them. These lines try to cover this lack. 17 of them. These lines try to cover this lack. 18 18 19 PLEASE, if you know any paper not listed here 19 PLEASE, if you know any paper not listed here or write a new document, 20 include a reference to it here, following the 20 include a reference to it here, following the kernel's patch submission 21 process. Any corrections, ideas or comments ar 21 process. Any corrections, ideas or comments are also welcome. 22 22 23 All documents are cataloged with the following 23 All documents are cataloged with the following fields: the document's 24 "Title", the "Author"/s, the "URL" where they 24 "Title", the "Author"/s, the "URL" where they can be found, some "Keywords" 25 helpful when searching for specific topics, an 25 helpful when searching for specific topics, and a brief "Description" of 26 the Document. 26 the Document. 27 27 28 .. note:: 28 .. note:: 29 29 30 The documents on each section of this docum 30 The documents on each section of this document are ordered by its 31 published date, from the newest to the olde 31 published date, from the newest to the oldest. The maintainer(s) should 32 periodically retire resources as they becom 32 periodically retire resources as they become obsolete or outdated; with 33 the exception of foundational books. 33 the exception of foundational books. 34 34 35 Docs at the Linux Kernel tree 35 Docs at the Linux Kernel tree 36 ----------------------------- 36 ----------------------------- 37 37 38 The Sphinx books should be built with ``make { 38 The Sphinx books should be built with ``make {htmldocs | pdfdocs | epubdocs}``. 39 39 40 * Name: **linux/Documentation** 40 * Name: **linux/Documentation** 41 41 42 :Author: Many. 42 :Author: Many. 43 :Location: Documentation/ 43 :Location: Documentation/ 44 :Keywords: text files, Sphinx. 44 :Keywords: text files, Sphinx. 45 :Description: Documentation that comes w 45 :Description: Documentation that comes with the kernel sources, 46 inside the Documentation directory. So 46 inside the Documentation directory. Some pages from this document 47 (including this document itself) have 47 (including this document itself) have been moved there, and might 48 be more up to date than the web versio 48 be more up to date than the web version. 49 49 50 On-line docs 50 On-line docs 51 ------------ 51 ------------ 52 52 53 * Title: **Linux Kernel Mailing List Gloss 53 * Title: **Linux Kernel Mailing List Glossary** 54 54 55 :Author: various 55 :Author: various 56 :URL: https://kernelnewbies.org/KernelGl 56 :URL: https://kernelnewbies.org/KernelGlossary 57 :Date: rolling version 57 :Date: rolling version 58 :Keywords: glossary, terms, linux-kernel 58 :Keywords: glossary, terms, linux-kernel. 59 :Description: From the introduction: "Th 59 :Description: From the introduction: "This glossary is intended as 60 a brief description of some of the acr 60 a brief description of some of the acronyms and terms you may hear 61 during discussion of the Linux kernel" 61 during discussion of the Linux kernel". 62 62 63 * Title: **The Linux Kernel Module Program 63 * Title: **The Linux Kernel Module Programming Guide** 64 64 65 :Author: Peter Jay Salzman, Michael Buri 65 :Author: Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram, 66 Jim Huang. 66 Jim Huang. 67 :URL: https://sysprog21.github.io/lkmpg/ 67 :URL: https://sysprog21.github.io/lkmpg/ 68 :Date: 2021 68 :Date: 2021 69 :Keywords: modules, GPL book, /proc, ioc 69 :Keywords: modules, GPL book, /proc, ioctls, system calls, 70 interrupt handlers . 70 interrupt handlers . 71 :Description: A very nice GPL book on th 71 :Description: A very nice GPL book on the topic of modules 72 programming. Lots of examples. Current 72 programming. Lots of examples. Currently the new version is being 73 actively maintained at https://github. 73 actively maintained at https://github.com/sysprog21/lkmpg. 74 74 75 * Title: **Rust for Linux** 75 * Title: **Rust for Linux** 76 76 77 :Author: various 77 :Author: various 78 :URL: https://rust-for-linux.com/ 78 :URL: https://rust-for-linux.com/ 79 :Date: rolling version 79 :Date: rolling version 80 :Keywords: glossary, terms, linux-kernel 80 :Keywords: glossary, terms, linux-kernel. 81 :Description: From the website: "Rust fo 81 :Description: From the website: "Rust for Linux is the project adding 82 support for the Rust language to the L 82 support for the Rust language to the Linux kernel. This website is 83 intended as a hub of links, documentat 83 intended as a hub of links, documentation and resources related to 84 the project". 84 the project". 85 85 86 Published books 86 Published books 87 --------------- 87 --------------- 88 88 89 * Title: **Practical Linux System Administ 89 * Title: **Practical Linux System Administration: A Guide to Installation, Configuration, and Management, 1st Edition** 90 90 91 :Author: Kenneth Hess 91 :Author: Kenneth Hess 92 :Publisher: O'Reilly Media 92 :Publisher: O'Reilly Media 93 :Date: May, 2023 93 :Date: May, 2023 94 :Pages: 246 94 :Pages: 246 95 :ISBN: 978-1098109035 95 :ISBN: 978-1098109035 96 :Notes: System administration 96 :Notes: System administration 97 97 98 * Title: **Linux Kernel Debugging: Leverag 98 * Title: **Linux Kernel Debugging: Leverage proven tools and advanced techniques to effectively debug Linux kernels and kernel modules** 99 99 100 :Author: Kaiwan N Billimoria 100 :Author: Kaiwan N Billimoria 101 :Publisher: Packt Publishing Ltd 101 :Publisher: Packt Publishing Ltd 102 :Date: August, 2022 102 :Date: August, 2022 103 :Pages: 638 103 :Pages: 638 104 :ISBN: 978-1801075039 104 :ISBN: 978-1801075039 105 :Notes: Debugging book 105 :Notes: Debugging book 106 106 107 * Title: **Linux Kernel Programming: A Com 107 * Title: **Linux Kernel Programming: A Comprehensive Guide to Kernel Internals, Writing Kernel Modules, and Kernel Synchronization** 108 108 109 :Author: Kaiwan N Billimoria 109 :Author: Kaiwan N Billimoria 110 :Publisher: Packt Publishing Ltd 110 :Publisher: Packt Publishing Ltd 111 :Date: March, 2021 (Second Edition publi 111 :Date: March, 2021 (Second Edition published in 2024) 112 :Pages: 754 112 :Pages: 754 113 :ISBN: 978-1789953435 (Second Edition IS 113 :ISBN: 978-1789953435 (Second Edition ISBN is 978-1803232225) 114 114 115 * Title: **Linux Kernel Programming Part 2 115 * Title: **Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization: Create user-kernel interfaces, work with peripheral I/O, and handle hardware interrupts** 116 116 117 :Author: Kaiwan N Billimoria 117 :Author: Kaiwan N Billimoria 118 :Publisher: Packt Publishing Ltd 118 :Publisher: Packt Publishing Ltd 119 :Date: March, 2021 119 :Date: March, 2021 120 :Pages: 452 120 :Pages: 452 121 :ISBN: 978-1801079518 121 :ISBN: 978-1801079518 122 122 123 * Title: **Linux System Programming: Talki 123 * Title: **Linux System Programming: Talking Directly to the Kernel and C Library** 124 124 125 :Author: Robert Love 125 :Author: Robert Love 126 :Publisher: O'Reilly Media 126 :Publisher: O'Reilly Media 127 :Date: June, 2013 127 :Date: June, 2013 128 :Pages: 456 128 :Pages: 456 129 :ISBN: 978-1449339531 129 :ISBN: 978-1449339531 130 :Notes: Foundational book 130 :Notes: Foundational book 131 131 132 * Title: **Linux Kernel Development, 3rd E 132 * Title: **Linux Kernel Development, 3rd Edition** 133 133 134 :Author: Robert Love 134 :Author: Robert Love 135 :Publisher: Addison-Wesley 135 :Publisher: Addison-Wesley 136 :Date: July, 2010 136 :Date: July, 2010 137 :Pages: 440 137 :Pages: 440 138 :ISBN: 978-0672329463 138 :ISBN: 978-0672329463 139 :Notes: Foundational book 139 :Notes: Foundational book 140 140 141 .. _ldd3_published: 141 .. _ldd3_published: 142 142 143 * Title: **Linux Device Drivers, 3rd Editi 143 * Title: **Linux Device Drivers, 3rd Edition** 144 144 145 :Authors: Jonathan Corbet, Alessandro Ru 145 :Authors: Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman 146 :Publisher: O'Reilly & Associates 146 :Publisher: O'Reilly & Associates 147 :Date: 2005 147 :Date: 2005 148 :Pages: 636 148 :Pages: 636 149 :ISBN: 0-596-00590-3 149 :ISBN: 0-596-00590-3 150 :Notes: Foundational book. Further infor 150 :Notes: Foundational book. Further information in 151 http://www.oreilly.com/catalog/linuxdr 151 http://www.oreilly.com/catalog/linuxdrive3/ 152 PDF format, URL: https://lwn.net/Kerne 152 PDF format, URL: https://lwn.net/Kernel/LDD3/ 153 153 154 * Title: **The Design of the UNIX Operatin 154 * Title: **The Design of the UNIX Operating System** 155 155 156 :Author: Maurice J. Bach 156 :Author: Maurice J. Bach 157 :Publisher: Prentice Hall 157 :Publisher: Prentice Hall 158 :Date: 1986 158 :Date: 1986 159 :Pages: 471 159 :Pages: 471 160 :ISBN: 0-13-201757-1 160 :ISBN: 0-13-201757-1 161 :Notes: Foundational book 161 :Notes: Foundational book 162 162 163 Miscellaneous 163 Miscellaneous 164 ------------- 164 ------------- 165 165 166 * Name: **Cross-Referencing Linux** 166 * Name: **Cross-Referencing Linux** 167 167 168 :URL: https://elixir.bootlin.com/ 168 :URL: https://elixir.bootlin.com/ 169 :Keywords: Browsing source code. 169 :Keywords: Browsing source code. 170 :Description: Another web-based Linux ke 170 :Description: Another web-based Linux kernel source code browser. 171 Lots of cross references to variables 171 Lots of cross references to variables and functions. You can see 172 where they are defined and where they 172 where they are defined and where they are used. 173 173 174 * Name: **Linux Weekly News** 174 * Name: **Linux Weekly News** 175 175 176 :URL: https://lwn.net 176 :URL: https://lwn.net 177 :Keywords: latest kernel news. 177 :Keywords: latest kernel news. 178 :Description: The title says it all. The 178 :Description: The title says it all. There's a fixed kernel section 179 summarizing developers' work, bug fixe 179 summarizing developers' work, bug fixes, new features and versions 180 produced during the week. 180 produced during the week. 181 181 182 * Name: **The home page of Linux-MM** 182 * Name: **The home page of Linux-MM** 183 183 184 :Author: The Linux-MM team. 184 :Author: The Linux-MM team. 185 :URL: https://linux-mm.org/ 185 :URL: https://linux-mm.org/ 186 :Keywords: memory management, Linux-MM, 186 :Keywords: memory management, Linux-MM, mm patches, TODO, docs, 187 mailing list. 187 mailing list. 188 :Description: Site devoted to Linux Memo 188 :Description: Site devoted to Linux Memory Management development. 189 Memory related patches, HOWTOs, links, 189 Memory related patches, HOWTOs, links, mm developers... Don't miss 190 it if you are interested in memory man 190 it if you are interested in memory management development! 191 191 192 * Name: **Kernel Newbies IRC Channel and W 192 * Name: **Kernel Newbies IRC Channel and Website** 193 193 194 :URL: https://www.kernelnewbies.org 194 :URL: https://www.kernelnewbies.org 195 :Keywords: IRC, newbies, channel, asking 195 :Keywords: IRC, newbies, channel, asking doubts. 196 :Description: #kernelnewbies on irc.oftc 196 :Description: #kernelnewbies on irc.oftc.net. 197 #kernelnewbies is an IRC network dedic 197 #kernelnewbies is an IRC network dedicated to the 'newbie' 198 kernel hacker. The audience mostly con 198 kernel hacker. The audience mostly consists of people who are 199 learning about the kernel, working on 199 learning about the kernel, working on kernel projects or 200 professional kernel hackers that want 200 professional kernel hackers that want to help less seasoned kernel 201 people. 201 people. 202 #kernelnewbies is on the OFTC IRC Netw 202 #kernelnewbies is on the OFTC IRC Network. 203 Try irc.oftc.net as your server and th 203 Try irc.oftc.net as your server and then /join #kernelnewbies. 204 The kernelnewbies website also hosts a 204 The kernelnewbies website also hosts articles, documents, FAQs... 205 205 206 * Name: **linux-kernel mailing list archiv 206 * Name: **linux-kernel mailing list archives and search engines** 207 207 208 :URL: https://subspace.kernel.org 208 :URL: https://subspace.kernel.org 209 :URL: https://lore.kernel.org 209 :URL: https://lore.kernel.org 210 :Keywords: linux-kernel, archives, searc 210 :Keywords: linux-kernel, archives, search. 211 :Description: Some of the linux-kernel m 211 :Description: Some of the linux-kernel mailing list archivers. If 212 you have a better/another one, please 212 you have a better/another one, please let me know. 213 213 214 * Name: **The Linux Foundation YouTube cha 214 * Name: **The Linux Foundation YouTube channel** 215 215 216 :URL: https://www.youtube.com/user/theli 216 :URL: https://www.youtube.com/user/thelinuxfoundation 217 :Keywords: linux, videos, linux-foundati 217 :Keywords: linux, videos, linux-foundation, youtube. 218 :Description: The Linux Foundation uploa 218 :Description: The Linux Foundation uploads video recordings of their 219 collaborative events, Linux conference 219 collaborative events, Linux conferences including LinuxCon, and 220 other original research and content re 220 other original research and content related to Linux and software 221 development. 221 development. 222 222 223 ------- 223 ------- 224 224 225 This document was originally based on: 225 This document was originally based on: 226 226 227 https://www.dit.upm.es/~jmseyas/linux/kernel/ 227 https://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html 228 228 229 and written by Juan-Mariano de Goyeneche 229 and written by Juan-Mariano de Goyeneche
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.