kernel-docs.rst 24 KB

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