kernel-docs.rst 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620
  1. .. _kernel_docs:
  2. Index of Further Kernel Documentation
  3. =====================================
  4. Initial Author: Juan-Mariano de Goyeneche (<[email protected]>;
  5. email address is defunct now.)
  6. The need for a document like this one became apparent in the
  7. linux-kernel mailing list as the same questions, asking for pointers
  8. to information, appeared again and again.
  9. Fortunately, as more and more people get to GNU/Linux, more and more
  10. get interested in the Kernel. But reading the sources is not always
  11. enough. It is easy to understand the code, but miss the concepts, the
  12. philosophy and design decisions behind this code.
  13. Unfortunately, not many documents are available for beginners to
  14. start. And, even if they exist, there was no "well-known" place which
  15. kept track of them. These lines try to cover this lack.
  16. PLEASE, if you know any paper not listed here or write a new document,
  17. include a reference to it here, following the kernel's patch submission
  18. process. Any corrections, ideas or comments are also welcome.
  19. All documents are cataloged with the following fields: the document's
  20. "Title", the "Author"/s, the "URL" where they can be found, some
  21. "Keywords" helpful when searching for specific topics, and a brief
  22. "Description" of the Document.
  23. .. note::
  24. The documents on each section of this document are ordered by its
  25. published date, from the newest to the oldest.
  26. Docs at the Linux Kernel tree
  27. -----------------------------
  28. The Sphinx books should be built with ``make {htmldocs | pdfdocs | epubdocs}``.
  29. * Name: **linux/Documentation**
  30. :Author: Many.
  31. :Location: Documentation/
  32. :Keywords: text files, Sphinx.
  33. :Description: Documentation that comes with the kernel sources,
  34. inside the Documentation directory. Some pages from this document
  35. (including this document itself) have been moved there, and might
  36. be more up to date than the web version.
  37. On-line docs
  38. ------------
  39. * Title: **Linux Kernel Mailing List Glossary**
  40. :Author: various
  41. :URL: https://kernelnewbies.org/KernelGlossary
  42. :Date: rolling version
  43. :Keywords: glossary, terms, linux-kernel.
  44. :Description: From the introduction: "This glossary is intended as
  45. a brief description of some of the acronyms and terms you may hear
  46. during discussion of the Linux kernel".
  47. * Title: **Tracing the Way of Data in a TCP Connection through the Linux Kernel**
  48. :Author: Richard Sailer
  49. :URL: https://archive.org/details/linux_kernel_data_flow_short_paper
  50. :Date: 2016
  51. :Keywords: Linux Kernel Networking, TCP, tracing, ftrace
  52. :Description: A seminar paper explaining ftrace and how to use it for
  53. understanding linux kernel internals,
  54. illustrated at tracing the way of a TCP packet through the kernel.
  55. :Abstract: *This short paper outlines the usage of ftrace a tracing framework
  56. as a tool to understand a running Linux system.
  57. Having obtained a trace-log a kernel hacker can read and understand
  58. source code more determined and with context.
  59. In a detailed example this approach is demonstrated in tracing
  60. and the way of data in a TCP Connection through the kernel.
  61. Finally this trace-log is used as base for more a exact conceptual
  62. exploration and description of the Linux TCP/IP implementation.*
  63. * Title: **The Linux Kernel Module Programming Guide**
  64. :Author: Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram,
  65. Jim Huang.
  66. :URL: https://sysprog21.github.io/lkmpg/
  67. :Date: 2021
  68. :Keywords: modules, GPL book, /proc, ioctls, system calls,
  69. interrupt handlers .
  70. :Description: A very nice GPL book on the topic of modules
  71. programming. Lots of examples. Currently the new version is being
  72. actively maintained at https://github.com/sysprog21/lkmpg.
  73. * Title: **On submitting kernel Patches**
  74. :Author: Andi Kleen
  75. :URL: http://halobates.de/on-submitting-kernel-patches.pdf
  76. :Date: 2008
  77. :Keywords: patches, review process, types of submissions, basic rules, case studies
  78. :Description: This paper gives several experience values on what types of patches
  79. there are and how likely they get merged.
  80. :Abstract:
  81. [...]. This paper examines some common problems for
  82. submitting larger changes and some strategies to avoid problems.
  83. * Title: **Linux Device Drivers, Third Edition**
  84. :Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
  85. :URL: https://lwn.net/Kernel/LDD3/
  86. :Date: 2005
  87. :Description: A 600-page book covering the (2.6.10) driver
  88. programming API and kernel hacking in general. Available under the
  89. Creative Commons Attribution-ShareAlike 2.0 license.
  90. :note: You can also :ref:`purchase a copy from O'Reilly or elsewhere <ldd3_published>`.
  91. * Title: **Writing an ALSA Driver**
  92. :Author: Takashi Iwai <[email protected]>
  93. :URL: https://www.kernel.org/doc/html/latest/sound/kernel-api/writing-an-alsa-driver.html
  94. :Date: 2005
  95. :Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware.
  96. :Description: Advanced Linux Sound Architecture for developers,
  97. both at kernel and user-level sides. ALSA is the Linux kernel
  98. sound architecture in the 2.6 kernel version.
  99. * Title: **Linux PCMCIA Programmer's Guide**
  100. :Author: David Hinds.
  101. :URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html
  102. :Date: 2003
  103. :Keywords: PCMCIA.
  104. :Description: "This document describes how to write kernel device
  105. drivers for the Linux PCMCIA Card Services interface. It also
  106. describes how to write user-mode utilities for communicating with
  107. Card Services.
  108. * Title: **How NOT to write kernel drivers**
  109. :Author: Arjan van de Ven.
  110. :URL: https://landley.net/kdocs/ols/2002/ols2002-pages-545-555.pdf
  111. :Date: 2002
  112. :Keywords: driver.
  113. :Description: Programming bugs and Do-nots in kernel driver development
  114. :Abstract: *Quit a few tutorials, articles and books give an introduction
  115. on how to write Linux kernel drivers. Unfortunately the things one
  116. should NOT do in Linux kernel code is either only a minor appendix
  117. or, more commonly, completely absent. This paper tries to briefly touch
  118. the areas in which the most common and serious bugs and do-nots are
  119. encountered.*
  120. * Title: **Global spinlock list and usage**
  121. :Author: Rick Lindsley.
  122. :URL: http://lse.sourceforge.net/lockhier/global-spin-lock
  123. :Date: 2001
  124. :Keywords: spinlock.
  125. :Description: This is an attempt to document both the existence and
  126. usage of the spinlocks in the Linux 2.4.5 kernel. Comprehensive
  127. list of spinlocks showing when they are used, which functions
  128. access them, how each lock is acquired, under what conditions it
  129. is held, whether interrupts can occur or not while it is held...
  130. * Title: **A Linux vm README**
  131. :Author: Kanoj Sarcar.
  132. :URL: http://kos.enix.org/pub/linux-vmm.html
  133. :Date: 2001
  134. :Keywords: virtual memory, mm, pgd, vma, page, page flags, page
  135. cache, swap cache, kswapd.
  136. :Description: Telegraphic, short descriptions and definitions
  137. relating the Linux virtual memory implementation.
  138. * Title: **Video4linux Drivers, Part 1: Video-Capture Device**
  139. :Author: Alan Cox.
  140. :URL: http://www.linux-mag.com/id/406
  141. :Date: 2000
  142. :Keywords: video4linux, driver, video capture, capture devices,
  143. camera driver.
  144. :Description: The title says it all.
  145. * Title: **Video4linux Drivers, Part 2: Video-capture Devices**
  146. :Author: Alan Cox.
  147. :URL: http://www.linux-mag.com/id/429
  148. :Date: 2000
  149. :Keywords: video4linux, driver, video capture, capture devices,
  150. camera driver, control, query capabilities, capability, facility.
  151. :Description: The title says it all.
  152. * Title: **Linux IP Networking. A Guide to the Implementation and Modification of the Linux Protocol Stack.**
  153. :Author: Glenn Herrin.
  154. :URL: http://www.cs.unh.edu/cnrg/gherrin
  155. :Date: 2000
  156. :Keywords: network, networking, protocol, IP, UDP, TCP, connection,
  157. socket, receiving, transmitting, forwarding, routing, packets,
  158. modules, /proc, sk_buff, FIB, tags.
  159. :Description: Excellent paper devoted to the Linux IP Networking,
  160. explaining anything from the kernel's to the user space
  161. configuration tools' code. Very good to get a general overview of
  162. the kernel networking implementation and understand all steps
  163. packets follow from the time they are received at the network
  164. device till they are delivered to applications. The studied kernel
  165. code is from 2.2.14 version. Provides code for a working packet
  166. dropper example.
  167. * Title: **How To Make Sure Your Driver Will Work On The Power Macintosh**
  168. :Author: Paul Mackerras.
  169. :URL: http://www.linux-mag.com/id/261
  170. :Date: 1999
  171. :Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
  172. :Description: The title says it all.
  173. * Title: **An Introduction to SCSI Drivers**
  174. :Author: Alan Cox.
  175. :URL: http://www.linux-mag.com/id/284
  176. :Date: 1999
  177. :Keywords: SCSI, device, driver.
  178. :Description: The title says it all.
  179. * Title: **Advanced SCSI Drivers And Other Tales**
  180. :Author: Alan Cox.
  181. :URL: http://www.linux-mag.com/id/307
  182. :Date: 1999
  183. :Keywords: SCSI, device, driver, advanced.
  184. :Description: The title says it all.
  185. * Title: **Writing Linux Mouse Drivers**
  186. :Author: Alan Cox.
  187. :URL: http://www.linux-mag.com/id/330
  188. :Date: 1999
  189. :Keywords: mouse, driver, gpm.
  190. :Description: The title says it all.
  191. * Title: **More on Mouse Drivers**
  192. :Author: Alan Cox.
  193. :URL: http://www.linux-mag.com/id/356
  194. :Date: 1999
  195. :Keywords: mouse, driver, gpm, races, asynchronous I/O.
  196. :Description: The title still says it all.
  197. * Title: **Writing Video4linux Radio Driver**
  198. :Author: Alan Cox.
  199. :URL: http://www.linux-mag.com/id/381
  200. :Date: 1999
  201. :Keywords: video4linux, driver, radio, radio devices.
  202. :Description: The title says it all.
  203. * Title: **I/O Event Handling Under Linux**
  204. :Author: Richard Gooch.
  205. :URL: https://web.mit.edu/~yandros/doc/io-events.html
  206. :Date: 1999
  207. :Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
  208. event queues.
  209. :Description: From the Introduction: "I/O Event handling is about
  210. how your Operating System allows you to manage a large number of
  211. open files (file descriptors in UNIX/POSIX, or FDs) in your
  212. application. You want the OS to notify you when FDs become active
  213. (have data ready to be read or are ready for writing). Ideally you
  214. want a mechanism that is scalable. This means a large number of
  215. inactive FDs cost very little in memory and CPU time to manage".
  216. * Title: **(nearly) Complete Linux Loadable Kernel Modules. The definitive guide for hackers, virus coders and system administrators.**
  217. :Author: pragmatic/THC.
  218. :URL: http://packetstormsecurity.org/docs/hack/LKM_HACKING.html
  219. :Date: 1999
  220. :Keywords: syscalls, intercept, hide, abuse, symbol table.
  221. :Description: Interesting paper on how to abuse the Linux kernel in
  222. order to intercept and modify syscalls, make
  223. files/directories/processes invisible, become root, hijack ttys,
  224. write kernel modules based virus... and solutions for admins to
  225. avoid all those abuses.
  226. :Notes: For 2.0.x kernels. Gives guidances to port it to 2.2.x
  227. kernels.
  228. * Name: **Linux Virtual File System**
  229. :Author: Peter J. Braam.
  230. :URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/
  231. :Date: 1998
  232. :Keywords: slides, VFS, inode, superblock, dentry, dcache.
  233. :Description: Set of slides, presumably from a presentation on the
  234. Linux VFS layer. Covers version 2.1.x, with dentries and the
  235. dcache.
  236. * Title: **The Venus kernel interface**
  237. :Author: Peter J. Braam.
  238. :URL: http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html
  239. :Date: 1998
  240. :Keywords: coda, filesystem, venus, cache manager.
  241. :Description: "This document describes the communication between
  242. Venus and kernel level file system code needed for the operation
  243. of the Coda filesystem. This version document is meant to describe
  244. the current interface (version 1.0) as well as improvements we
  245. envisage".
  246. * Title: **Design and Implementation of the Second Extended Filesystem**
  247. :Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
  248. :URL: https://web.mit.edu/tytso/www/linux/ext2intro.html
  249. :Date: 1998
  250. :Keywords: ext2, linux fs history, inode, directory, link, devices,
  251. VFS, physical structure, performance, benchmarks, ext2fs library,
  252. ext2fs tools, e2fsck.
  253. :Description: Paper written by three of the top ext2 hackers.
  254. Covers Linux filesystems history, ext2 motivation, ext2 features,
  255. design, physical structure on disk, performance, benchmarks,
  256. e2fsck's passes description... A must read!
  257. :Notes: This paper was first published in the Proceedings of the
  258. First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
  259. * Title: **The Linux RAID-1, 4, 5 Code**
  260. :Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
  261. :URL: http://www.linuxjournal.com/article.php?sid=2391
  262. :Date: 1997
  263. :Keywords: RAID, MD driver.
  264. :Description: Linux Journal Kernel Korner article.
  265. :Abstract: *A description of the implementation of the RAID-1,
  266. RAID-4 and RAID-5 personalities of the MD device driver in the
  267. Linux kernel, providing users with high performance and reliable,
  268. secondary-storage capability using software*.
  269. * Title: **Linux Kernel Hackers' Guide**
  270. :Author: Michael K. Johnson.
  271. :URL: https://www.tldp.org/LDP/khg/HyperNews/get/khg.html
  272. :Date: 1997
  273. :Keywords: device drivers, files, VFS, kernel interface, character vs
  274. block devices, hardware interrupts, scsi, DMA, access to user memory,
  275. memory allocation, timers.
  276. :Description: A guide designed to help you get up to speed on the
  277. concepts that are not intuitively obvious, and to document the internal
  278. structures of Linux.
  279. * Title: **Dynamic Kernels: Modularized Device Drivers**
  280. :Author: Alessandro Rubini.
  281. :URL: http://www.linuxjournal.com/article.php?sid=1219
  282. :Date: 1996
  283. :Keywords: device driver, module, loading/unloading modules,
  284. allocating resources.
  285. :Description: Linux Journal Kernel Korner article.
  286. :Abstract: *This is the first of a series of four articles
  287. co-authored by Alessandro Rubini and Georg Zezchwitz which present
  288. a practical approach to writing Linux device drivers as kernel
  289. loadable modules. This installment presents an introduction to the
  290. topic, preparing the reader to understand next month's
  291. installment*.
  292. * Title: **Dynamic Kernels: Discovery**
  293. :Author: Alessandro Rubini.
  294. :URL: http://www.linuxjournal.com/article.php?sid=1220
  295. :Date: 1996
  296. :Keywords: character driver, init_module, clean_up module,
  297. autodetection, mayor number, minor number, file operations,
  298. open(), close().
  299. :Description: Linux Journal Kernel Korner article.
  300. :Abstract: *This article, the second of four, introduces part of
  301. the actual code to create custom module implementing a character
  302. device driver. It describes the code for module initialization and
  303. cleanup, as well as the open() and close() system calls*.
  304. * Title: **The Devil's in the Details**
  305. :Author: Georg v. Zezschwitz and Alessandro Rubini.
  306. :URL: http://www.linuxjournal.com/article.php?sid=1221
  307. :Date: 1996
  308. :Keywords: read(), write(), select(), ioctl(), blocking/non
  309. blocking mode, interrupt handler.
  310. :Description: Linux Journal Kernel Korner article.
  311. :Abstract: *This article, the third of four on writing character
  312. device drivers, introduces concepts of reading, writing, and using
  313. ioctl-calls*.
  314. * Title: **Dissecting Interrupts and Browsing DMA**
  315. :Author: Alessandro Rubini and Georg v. Zezschwitz.
  316. :URL: https://www.linuxjournal.com/article.php?sid=1222
  317. :Date: 1996
  318. :Keywords: interrupts, irqs, DMA, bottom halves, task queues.
  319. :Description: Linux Journal Kernel Korner article.
  320. :Abstract: *This is the fourth in a series of articles about
  321. writing character device drivers as loadable kernel modules. This
  322. month, we further investigate the field of interrupt handling.
  323. Though it is conceptually simple, practical limitations and
  324. constraints make this an ''interesting'' part of device driver
  325. writing, and several different facilities have been provided for
  326. different situations. We also investigate the complex topic of
  327. DMA*.
  328. * Title: **Device Drivers Concluded**
  329. :Author: Georg v. Zezschwitz.
  330. :URL: https://www.linuxjournal.com/article.php?sid=1287
  331. :Date: 1996
  332. :Keywords: address spaces, pages, pagination, page management,
  333. demand loading, swapping, memory protection, memory mapping, mmap,
  334. virtual memory areas (VMAs), vremap, PCI.
  335. :Description: Finally, the above turned out into a five articles
  336. series. This latest one's introduction reads: "This is the last of
  337. five articles about character device drivers. In this final
  338. section, Georg deals with memory mapping devices, beginning with
  339. an overall description of the Linux memory management concepts".
  340. * Title: **Network Buffers And Memory Management**
  341. :Author: Alan Cox.
  342. :URL: https://www.linuxjournal.com/article.php?sid=1312
  343. :Date: 1996
  344. :Keywords: sk_buffs, network devices, protocol/link layer
  345. variables, network devices flags, transmit, receive,
  346. configuration, multicast.
  347. :Description: Linux Journal Kernel Korner.
  348. :Abstract: *Writing a network device driver for Linux is fundamentally
  349. simple---most of the complexity (other than talking to the
  350. hardware) involves managing network packets in memory*.
  351. * Title: **Analysis of the Ext2fs structure**
  352. :Author: Louis-Dominique Dubeau.
  353. :URL: https://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/
  354. :Date: 1994
  355. :Keywords: ext2, filesystem, ext2fs.
  356. :Description: Description of ext2's blocks, directories, inodes,
  357. bitmaps, invariants...
  358. Published books
  359. ---------------
  360. * Title: **Linux Treiber entwickeln**
  361. :Author: Jürgen Quade, Eva-Katharina Kunst
  362. :Publisher: dpunkt.verlag
  363. :Date: Oct 2015 (4th edition)
  364. :Pages: 688
  365. :ISBN: 978-3-86490-288-8
  366. :Note: German. The third edition from 2011 is
  367. much cheaper and still quite up-to-date.
  368. * Title: **Linux Kernel Networking: Implementation and Theory**
  369. :Author: Rami Rosen
  370. :Publisher: Apress
  371. :Date: December 22, 2013
  372. :Pages: 648
  373. :ISBN: 978-1430261964
  374. * Title: **Embedded Linux Primer: A practical Real-World Approach, 2nd Edition**
  375. :Author: Christopher Hallinan
  376. :Publisher: Pearson
  377. :Date: November, 2010
  378. :Pages: 656
  379. :ISBN: 978-0137017836
  380. * Title: **Linux Kernel Development, 3rd Edition**
  381. :Author: Robert Love
  382. :Publisher: Addison-Wesley
  383. :Date: July, 2010
  384. :Pages: 440
  385. :ISBN: 978-0672329463
  386. * Title: **Essential Linux Device Drivers**
  387. :Author: Sreekrishnan Venkateswaran
  388. :Published: Prentice Hall
  389. :Date: April, 2008
  390. :Pages: 744
  391. :ISBN: 978-0132396554
  392. .. _ldd3_published:
  393. * Title: **Linux Device Drivers, 3rd Edition**
  394. :Authors: Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
  395. :Publisher: O'Reilly & Associates
  396. :Date: 2005
  397. :Pages: 636
  398. :ISBN: 0-596-00590-3
  399. :Notes: Further information in
  400. http://www.oreilly.com/catalog/linuxdrive3/
  401. PDF format, URL: https://lwn.net/Kernel/LDD3/
  402. * Title: **Linux Kernel Internals**
  403. :Author: Michael Beck
  404. :Publisher: Addison-Wesley
  405. :Date: 1997
  406. :ISBN: 0-201-33143-8 (second edition)
  407. * Title: **Programmation Linux 2.0 API systeme et fonctionnement du noyau**
  408. :Author: Remy Card, Eric Dumas, Franck Mevel
  409. :Publisher: Eyrolles
  410. :Date: 1997
  411. :Pages: 520
  412. :ISBN: 2-212-08932-5
  413. :Notes: French
  414. * Title: **The Design and Implementation of the 4.4 BSD UNIX Operating System**
  415. :Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels,
  416. John S. Quarterman
  417. :Publisher: Addison-Wesley
  418. :Date: 1996
  419. :ISBN: 0-201-54979-4
  420. * Title: **Unix internals -- the new frontiers**
  421. :Author: Uresh Vahalia
  422. :Publisher: Prentice Hall
  423. :Date: 1996
  424. :Pages: 600
  425. :ISBN: 0-13-101908-2
  426. * Title: **Programming for the real world - POSIX.4**
  427. :Author: Bill O. Gallmeister
  428. :Publisher: O'Reilly & Associates, Inc
  429. :Date: 1995
  430. :Pages: 552
  431. :ISBN: I-56592-074-0
  432. :Notes: Though not being directly about Linux, Linux aims to be
  433. POSIX. Good reference.
  434. * Title: **UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers**
  435. :Author: Curt Schimmel
  436. :Publisher: Addison Wesley
  437. :Date: June, 1994
  438. :Pages: 432
  439. :ISBN: 0-201-63338-8
  440. * Title: **The Design and Implementation of the 4.3 BSD UNIX Operating System**
  441. :Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J
  442. Karels, John S. Quarterman
  443. :Publisher: Addison-Wesley
  444. :Date: 1989 (reprinted with corrections on October, 1990)
  445. :ISBN: 0-201-06196-1
  446. * Title: **The Design of the UNIX Operating System**
  447. :Author: Maurice J. Bach
  448. :Publisher: Prentice Hall
  449. :Date: 1986
  450. :Pages: 471
  451. :ISBN: 0-13-201757-1
  452. Miscellaneous
  453. -------------
  454. * Name: **Cross-Referencing Linux**
  455. :URL: https://elixir.bootlin.com/
  456. :Keywords: Browsing source code.
  457. :Description: Another web-based Linux kernel source code browser.
  458. Lots of cross references to variables and functions. You can see
  459. where they are defined and where they are used.
  460. * Name: **Linux Weekly News**
  461. :URL: https://lwn.net
  462. :Keywords: latest kernel news.
  463. :Description: The title says it all. There's a fixed kernel section
  464. summarizing developers' work, bug fixes, new features and versions
  465. produced during the week. Published every Thursday.
  466. * Name: **The home page of Linux-MM**
  467. :Author: The Linux-MM team.
  468. :URL: https://linux-mm.org/
  469. :Keywords: memory management, Linux-MM, mm patches, TODO, docs,
  470. mailing list.
  471. :Description: Site devoted to Linux Memory Management development.
  472. Memory related patches, HOWTOs, links, mm developers... Don't miss
  473. it if you are interested in memory management development!
  474. * Name: **Kernel Newbies IRC Channel and Website**
  475. :URL: https://www.kernelnewbies.org
  476. :Keywords: IRC, newbies, channel, asking doubts.
  477. :Description: #kernelnewbies on irc.oftc.net.
  478. #kernelnewbies is an IRC network dedicated to the 'newbie'
  479. kernel hacker. The audience mostly consists of people who are
  480. learning about the kernel, working on kernel projects or
  481. professional kernel hackers that want to help less seasoned kernel
  482. people.
  483. #kernelnewbies is on the OFTC IRC Network.
  484. Try irc.oftc.net as your server and then /join #kernelnewbies.
  485. The kernelnewbies website also hosts articles, documents, FAQs...
  486. * Name: **linux-kernel mailing list archives and search engines**
  487. :URL: http://vger.kernel.org/vger-lists.html
  488. :URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html
  489. :URL: http://groups.google.com/group/mlist.linux.kernel
  490. :Keywords: linux-kernel, archives, search.
  491. :Description: Some of the linux-kernel mailing list archivers. If
  492. you have a better/another one, please let me know.
  493. -------
  494. Document last updated on Tue 2016-Sep-20
  495. This document is based on:
  496. https://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html