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 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** << 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 >> 121 * Title: **Practical Linux System Administration: A Guide to Installation, Configuration, and Management, 1st Edition** >> 122 >> 123 :Author: Kenneth Hess >> 124 :Publisher: O'Reilly Media >> 125 :Date: May, 2023 >> 126 :Pages: 246 >> 127 :ISBN: 978-1098109035 >> 128 :Notes: System administration >> 129 141 .. _ldd3_published: 130 .. _ldd3_published: 142 131 143 * Title: **Linux Device Drivers, 3rd Editi 132 * Title: **Linux Device Drivers, 3rd Edition** 144 133 145 :Authors: Jonathan Corbet, Alessandro Ru 134 :Authors: Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman 146 :Publisher: O'Reilly & Associates 135 :Publisher: O'Reilly & Associates 147 :Date: 2005 136 :Date: 2005 148 :Pages: 636 137 :Pages: 636 149 :ISBN: 0-596-00590-3 138 :ISBN: 0-596-00590-3 150 :Notes: Foundational book. Further infor 139 :Notes: Foundational book. Further information in 151 http://www.oreilly.com/catalog/linuxdr 140 http://www.oreilly.com/catalog/linuxdrive3/ 152 PDF format, URL: https://lwn.net/Kerne 141 PDF format, URL: https://lwn.net/Kernel/LDD3/ 153 142 154 * Title: **The Design of the UNIX Operatin 143 * Title: **The Design of the UNIX Operating System** 155 144 156 :Author: Maurice J. Bach 145 :Author: Maurice J. Bach 157 :Publisher: Prentice Hall 146 :Publisher: Prentice Hall 158 :Date: 1986 147 :Date: 1986 159 :Pages: 471 148 :Pages: 471 160 :ISBN: 0-13-201757-1 149 :ISBN: 0-13-201757-1 161 :Notes: Foundational book 150 :Notes: Foundational book 162 151 163 Miscellaneous 152 Miscellaneous 164 ------------- 153 ------------- 165 154 166 * Name: **Cross-Referencing Linux** 155 * Name: **Cross-Referencing Linux** 167 156 168 :URL: https://elixir.bootlin.com/ 157 :URL: https://elixir.bootlin.com/ 169 :Keywords: Browsing source code. 158 :Keywords: Browsing source code. 170 :Description: Another web-based Linux ke 159 :Description: Another web-based Linux kernel source code browser. 171 Lots of cross references to variables 160 Lots of cross references to variables and functions. You can see 172 where they are defined and where they 161 where they are defined and where they are used. 173 162 174 * Name: **Linux Weekly News** 163 * Name: **Linux Weekly News** 175 164 176 :URL: https://lwn.net 165 :URL: https://lwn.net 177 :Keywords: latest kernel news. 166 :Keywords: latest kernel news. 178 :Description: The title says it all. The 167 :Description: The title says it all. There's a fixed kernel section 179 summarizing developers' work, bug fixe 168 summarizing developers' work, bug fixes, new features and versions 180 produced during the week. 169 produced during the week. 181 170 182 * Name: **The home page of Linux-MM** 171 * Name: **The home page of Linux-MM** 183 172 184 :Author: The Linux-MM team. 173 :Author: The Linux-MM team. 185 :URL: https://linux-mm.org/ 174 :URL: https://linux-mm.org/ 186 :Keywords: memory management, Linux-MM, 175 :Keywords: memory management, Linux-MM, mm patches, TODO, docs, 187 mailing list. 176 mailing list. 188 :Description: Site devoted to Linux Memo 177 :Description: Site devoted to Linux Memory Management development. 189 Memory related patches, HOWTOs, links, 178 Memory related patches, HOWTOs, links, mm developers... Don't miss 190 it if you are interested in memory man 179 it if you are interested in memory management development! 191 180 192 * Name: **Kernel Newbies IRC Channel and W 181 * Name: **Kernel Newbies IRC Channel and Website** 193 182 194 :URL: https://www.kernelnewbies.org 183 :URL: https://www.kernelnewbies.org 195 :Keywords: IRC, newbies, channel, asking 184 :Keywords: IRC, newbies, channel, asking doubts. 196 :Description: #kernelnewbies on irc.oftc 185 :Description: #kernelnewbies on irc.oftc.net. 197 #kernelnewbies is an IRC network dedic 186 #kernelnewbies is an IRC network dedicated to the 'newbie' 198 kernel hacker. The audience mostly con 187 kernel hacker. The audience mostly consists of people who are 199 learning about the kernel, working on 188 learning about the kernel, working on kernel projects or 200 professional kernel hackers that want 189 professional kernel hackers that want to help less seasoned kernel 201 people. 190 people. 202 #kernelnewbies is on the OFTC IRC Netw 191 #kernelnewbies is on the OFTC IRC Network. 203 Try irc.oftc.net as your server and th 192 Try irc.oftc.net as your server and then /join #kernelnewbies. 204 The kernelnewbies website also hosts a 193 The kernelnewbies website also hosts articles, documents, FAQs... 205 194 206 * Name: **linux-kernel mailing list archiv 195 * Name: **linux-kernel mailing list archives and search engines** 207 196 208 :URL: https://subspace.kernel.org !! 197 :URL: http://vger.kernel.org/vger-lists.html 209 :URL: https://lore.kernel.org !! 198 :URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html >> 199 :URL: http://groups.google.com/group/mlist.linux.kernel 210 :Keywords: linux-kernel, archives, searc 200 :Keywords: linux-kernel, archives, search. 211 :Description: Some of the linux-kernel m 201 :Description: Some of the linux-kernel mailing list archivers. If 212 you have a better/another one, please 202 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 203 223 ------- 204 ------- 224 205 225 This document was originally based on: 206 This document was originally based on: 226 207 227 https://www.dit.upm.es/~jmseyas/linux/kernel/ 208 https://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html 228 209 229 and written by Juan-Mariano de Goyeneche 210 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.