Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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