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 7 mailing list as the same questions, asking for !! 7 linux-kernel mailing list as the same questions, asking for pointers 8 appeared again and again. !! 8 to information, 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 11 interested in the Kernel. But reading the sour !! 11 get interested in the Kernel. But reading the sources is not always 12 is easy to understand the code, but miss the c !! 12 enough. It is easy to understand the code, but miss the concepts, the 13 design decisions behind this code. !! 13 philosophy and design decisions behind this code. 14 !! 14 15 Unfortunately, not many documents are availabl !! 15 Unfortunately, not many documents are available for beginners to 16 And, even if they exist, there was no "well-kn !! 16 start. And, even if they exist, there was no "well-known" place which 17 of them. These lines try to cover this lack. !! 17 kept track 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 25 helpful when searching for specific topics, an !! 25 "Keywords" helpful when searching for specific topics, and a brief 26 the Document. !! 26 "Description" of 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 obsolte 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** << 76 << 77 :Author: various << 78 :URL: https://rust-for-linux.com/ << 79 :Date: rolling version << 80 :Keywords: glossary, terms, linux-kernel << 81 :Description: From the website: "Rust fo << 82 support for the Rust language to the L << 83 intended as a hub of links, documentat << 84 the project". << 85 << 86 Published books 75 Published books 87 --------------- 76 --------------- 88 77 89 * Title: **Practical Linux System Administ << 90 << 91 :Author: Kenneth Hess << 92 :Publisher: O'Reilly Media << 93 :Date: May, 2023 << 94 :Pages: 246 << 95 :ISBN: 978-1098109035 << 96 :Notes: System administration << 97 << 98 * Title: **Linux Kernel Debugging: Leverag 78 * Title: **Linux Kernel Debugging: Leverage proven tools and advanced techniques to effectively debug Linux kernels and kernel modules** 99 79 100 :Author: Kaiwan N Billimoria 80 :Author: Kaiwan N Billimoria 101 :Publisher: Packt Publishing Ltd 81 :Publisher: Packt Publishing Ltd 102 :Date: August, 2022 82 :Date: August, 2022 103 :Pages: 638 83 :Pages: 638 104 :ISBN: 978-1801075039 84 :ISBN: 978-1801075039 105 :Notes: Debugging book 85 :Notes: Debugging book 106 86 107 * Title: **Linux Kernel Programming: A Com 87 * Title: **Linux Kernel Programming: A Comprehensive Guide to Kernel Internals, Writing Kernel Modules, and Kernel Synchronization** 108 88 109 :Author: Kaiwan N Billimoria 89 :Author: Kaiwan N Billimoria 110 :Publisher: Packt Publishing Ltd 90 :Publisher: Packt Publishing Ltd 111 :Date: March, 2021 (Second Edition publi !! 91 :Date: March, 2021 112 :Pages: 754 92 :Pages: 754 113 :ISBN: 978-1789953435 (Second Edition IS !! 93 :ISBN: 978-1789953435 114 94 115 * Title: **Linux Kernel Programming Part 2 95 * 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 96 117 :Author: Kaiwan N Billimoria 97 :Author: Kaiwan N Billimoria 118 :Publisher: Packt Publishing Ltd 98 :Publisher: Packt Publishing Ltd 119 :Date: March, 2021 99 :Date: March, 2021 120 :Pages: 452 100 :Pages: 452 121 :ISBN: 978-1801079518 101 :ISBN: 978-1801079518 122 102 123 * Title: **Linux System Programming: Talki 103 * Title: **Linux System Programming: Talking Directly to the Kernel and C Library** 124 104 125 :Author: Robert Love 105 :Author: Robert Love 126 :Publisher: O'Reilly Media 106 :Publisher: O'Reilly Media 127 :Date: June, 2013 107 :Date: June, 2013 128 :Pages: 456 108 :Pages: 456 129 :ISBN: 978-1449339531 109 :ISBN: 978-1449339531 130 :Notes: Foundational book 110 :Notes: Foundational book 131 111 132 * Title: **Linux Kernel Development, 3rd E 112 * Title: **Linux Kernel Development, 3rd Edition** 133 113 134 :Author: Robert Love 114 :Author: Robert Love 135 :Publisher: Addison-Wesley 115 :Publisher: Addison-Wesley 136 :Date: July, 2010 116 :Date: July, 2010 137 :Pages: 440 117 :Pages: 440 138 :ISBN: 978-0672329463 118 :ISBN: 978-0672329463 139 :Notes: Foundational book 119 :Notes: Foundational book 140 120 141 .. _ldd3_published: 121 .. _ldd3_published: 142 122 143 * Title: **Linux Device Drivers, 3rd Editi 123 * Title: **Linux Device Drivers, 3rd Edition** 144 124 145 :Authors: Jonathan Corbet, Alessandro Ru 125 :Authors: Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman 146 :Publisher: O'Reilly & Associates 126 :Publisher: O'Reilly & Associates 147 :Date: 2005 127 :Date: 2005 148 :Pages: 636 128 :Pages: 636 149 :ISBN: 0-596-00590-3 129 :ISBN: 0-596-00590-3 150 :Notes: Foundational book. Further infor 130 :Notes: Foundational book. Further information in 151 http://www.oreilly.com/catalog/linuxdr 131 http://www.oreilly.com/catalog/linuxdrive3/ 152 PDF format, URL: https://lwn.net/Kerne 132 PDF format, URL: https://lwn.net/Kernel/LDD3/ 153 133 154 * Title: **The Design of the UNIX Operatin 134 * Title: **The Design of the UNIX Operating System** 155 135 156 :Author: Maurice J. Bach 136 :Author: Maurice J. Bach 157 :Publisher: Prentice Hall 137 :Publisher: Prentice Hall 158 :Date: 1986 138 :Date: 1986 159 :Pages: 471 139 :Pages: 471 160 :ISBN: 0-13-201757-1 140 :ISBN: 0-13-201757-1 161 :Notes: Foundational book 141 :Notes: Foundational book 162 142 163 Miscellaneous 143 Miscellaneous 164 ------------- 144 ------------- 165 145 166 * Name: **Cross-Referencing Linux** 146 * Name: **Cross-Referencing Linux** 167 147 168 :URL: https://elixir.bootlin.com/ 148 :URL: https://elixir.bootlin.com/ 169 :Keywords: Browsing source code. 149 :Keywords: Browsing source code. 170 :Description: Another web-based Linux ke 150 :Description: Another web-based Linux kernel source code browser. 171 Lots of cross references to variables 151 Lots of cross references to variables and functions. You can see 172 where they are defined and where they 152 where they are defined and where they are used. 173 153 174 * Name: **Linux Weekly News** 154 * Name: **Linux Weekly News** 175 155 176 :URL: https://lwn.net 156 :URL: https://lwn.net 177 :Keywords: latest kernel news. 157 :Keywords: latest kernel news. 178 :Description: The title says it all. The 158 :Description: The title says it all. There's a fixed kernel section 179 summarizing developers' work, bug fixe 159 summarizing developers' work, bug fixes, new features and versions 180 produced during the week. 160 produced during the week. 181 161 182 * Name: **The home page of Linux-MM** 162 * Name: **The home page of Linux-MM** 183 163 184 :Author: The Linux-MM team. 164 :Author: The Linux-MM team. 185 :URL: https://linux-mm.org/ 165 :URL: https://linux-mm.org/ 186 :Keywords: memory management, Linux-MM, 166 :Keywords: memory management, Linux-MM, mm patches, TODO, docs, 187 mailing list. 167 mailing list. 188 :Description: Site devoted to Linux Memo 168 :Description: Site devoted to Linux Memory Management development. 189 Memory related patches, HOWTOs, links, 169 Memory related patches, HOWTOs, links, mm developers... Don't miss 190 it if you are interested in memory man 170 it if you are interested in memory management development! 191 171 192 * Name: **Kernel Newbies IRC Channel and W 172 * Name: **Kernel Newbies IRC Channel and Website** 193 173 194 :URL: https://www.kernelnewbies.org 174 :URL: https://www.kernelnewbies.org 195 :Keywords: IRC, newbies, channel, asking 175 :Keywords: IRC, newbies, channel, asking doubts. 196 :Description: #kernelnewbies on irc.oftc 176 :Description: #kernelnewbies on irc.oftc.net. 197 #kernelnewbies is an IRC network dedic 177 #kernelnewbies is an IRC network dedicated to the 'newbie' 198 kernel hacker. The audience mostly con 178 kernel hacker. The audience mostly consists of people who are 199 learning about the kernel, working on 179 learning about the kernel, working on kernel projects or 200 professional kernel hackers that want 180 professional kernel hackers that want to help less seasoned kernel 201 people. 181 people. 202 #kernelnewbies is on the OFTC IRC Netw 182 #kernelnewbies is on the OFTC IRC Network. 203 Try irc.oftc.net as your server and th 183 Try irc.oftc.net as your server and then /join #kernelnewbies. 204 The kernelnewbies website also hosts a 184 The kernelnewbies website also hosts articles, documents, FAQs... 205 185 206 * Name: **linux-kernel mailing list archiv 186 * Name: **linux-kernel mailing list archives and search engines** 207 187 208 :URL: https://subspace.kernel.org !! 188 :URL: http://vger.kernel.org/vger-lists.html 209 :URL: https://lore.kernel.org !! 189 :URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html >> 190 :URL: http://groups.google.com/group/mlist.linux.kernel 210 :Keywords: linux-kernel, archives, searc 191 :Keywords: linux-kernel, archives, search. 211 :Description: Some of the linux-kernel m 192 :Description: Some of the linux-kernel mailing list archivers. If 212 you have a better/another one, please 193 you have a better/another one, please let me know. 213 << 214 * Name: **The Linux Foundation YouTube cha << 215 << 216 :URL: https://www.youtube.com/user/theli << 217 :Keywords: linux, videos, linux-foundati << 218 :Description: The Linux Foundation uploa << 219 collaborative events, Linux conference << 220 other original research and content re << 221 development. << 222 194 223 ------- 195 ------- 224 196 225 This document was originally based on: 197 This document was originally based on: 226 198 227 https://www.dit.upm.es/~jmseyas/linux/kernel/ 199 https://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html 228 200 229 and written by Juan-Mariano de Goyeneche 201 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.