Commit 9e03ea7f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

Documentation/kernel-docs.txt: convert it to ReST markup

This one required lots of manual work, for it to be properly
displayed.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 9b2c7677
Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel
Index of Documentation for People Interested in Writing and/or =============================================================================================
Understanding the Linux Kernel.
Juan-Mariano de Goyeneche <jmseyas@dit.upm.es> Juan-Mariano de Goyeneche <jmseyas@dit.upm.es>
/* .. note::
* The latest version of this document may be found at: The latest version of this document may be found at:
* http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html :http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
*/
The need for a document like this one became apparent in the
The need for a document like this one became apparent in the linux-kernel mailing list as the same questions, asking for pointers
linux-kernel mailing list as the same questions, asking for pointers to information, appeared again and again.
to information, appeared again and again.
Fortunately, as more and more people get to GNU/Linux, more and more
Fortunately, as more and more people get to GNU/Linux, more and more get interested in the Kernel. But reading the sources is not always
get interested in the Kernel. But reading the sources is not always enough. It is easy to understand the code, but miss the concepts, the
enough. It is easy to understand the code, but miss the concepts, the philosophy and design decisions behind this code.
philosophy and design decisions behind this code.
Unfortunately, not many documents are available for beginners to
Unfortunately, not many documents are available for beginners to start. And, even if they exist, there was no "well-known" place which
start. And, even if they exist, there was no "well-known" place which kept track of them. These lines try to cover this lack. All documents
kept track of them. These lines try to cover this lack. All documents available on line known by the author are listed, while some reference
available on line known by the author are listed, while some reference books are also mentioned.
books are also mentioned.
PLEASE, if you know any paper not listed here or write a new document,
PLEASE, if you know any paper not listed here or write a new document, send me an e-mail, and I'll include a reference to it here. Any
send me an e-mail, and I'll include a reference to it here. Any corrections, ideas or comments are also welcomed.
corrections, ideas or comments are also welcomed.
The papers that follow are listed in no particular order. All are
The papers that follow are listed in no particular order. All are cataloged with the following fields: the document's "Title", the
cataloged with the following fields: the document's "Title", the "Author"/s, the "URL" where they can be found, some "Keywords" helpful
"Author"/s, the "URL" where they can be found, some "Keywords" helpful when searching for specific topics, and a brief "Description" of the
when searching for specific topics, and a brief "Description" of the Document.
Document.
Enjoy!
Enjoy!
ON-LINE DOCS
ON-LINE DOCS: ------------
* Title: "Linux Device Drivers, Third Edition" * Title: **Linux Device Drivers, Third Edition**
Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
URL: http://lwn.net/Kernel/LDD3/ :Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
Description: A 600-page book covering the (2.6.10) driver :URL: http://lwn.net/Kernel/LDD3/
programming API and kernel hacking in general. Available under the :Description: A 600-page book covering the (2.6.10) driver
Creative Commons Attribution-ShareAlike 2.0 license. programming API and kernel hacking in general. Available under the
Creative Commons Attribution-ShareAlike 2.0 license.
* Title: "The Linux Kernel"
Author: David A. Rusling. * Title: **The Linux Kernel**
URL: http://www.tldp.org/LDP/tlk/tlk.html
Keywords: everything!, book. :Author: David A. Rusling.
Description: On line, 200 pages book describing most aspects of :URL: http://www.tldp.org/LDP/tlk/tlk.html
the Linux Kernel. Probably, the first reference for beginners. :Keywords: everything!, book.
Lots of illustrations explaining data structures use and :Description: On line, 200 pages book describing most aspects of
relationships in the purest Richard W. Stevens' style. Contents: the Linux Kernel. Probably, the first reference for beginners.
"1.-Hardware Basics, 2.-Software Basics, 3.-Memory Management, Lots of illustrations explaining data structures use and
4.-Processes, 5.-Interprocess Communication Mechanisms, 6.-PCI, relationships in the purest Richard W. Stevens' style. Contents:
7.-Interrupts and Interrupt Handling, 8.-Device Drivers, 9.-The "1.-Hardware Basics, 2.-Software Basics, 3.-Memory Management,
File system, 10.-Networks, 11.-Kernel Mechanisms, 12.-Modules, 4.-Processes, 5.-Interprocess Communication Mechanisms, 6.-PCI,
13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The 7.-Interrupts and Interrupt Handling, 8.-Device Drivers, 9.-The
Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU File system, 10.-Networks, 11.-Kernel Mechanisms, 12.-Modules,
General Public License, Glossary". In short: a must have. 13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The
Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU
* Title: "Linux Device Drivers, 2nd Edition" General Public License, Glossary". In short: a must have.
Author: Alessandro Rubini and Jonathan Corbet.
URL: http://www.xml.com/ldd/chapter/book/index.html * Title: **Linux Device Drivers, 2nd Edition**
Keywords: device drivers, modules, debugging, memory, hardware,
interrupt handling, char drivers, block drivers, kmod, mmap, DMA, :Author: Alessandro Rubini and Jonathan Corbet.
buses. :URL: http://www.xml.com/ldd/chapter/book/index.html
Description: O'Reilly's popular book, now also on-line under the :Keywords: device drivers, modules, debugging, memory, hardware,
GNU Free Documentation License. interrupt handling, char drivers, block drivers, kmod, mmap, DMA,
Notes: You can also buy it in paper-form from O'Reilly. See below buses.
under BOOKS (Not on-line). :Description: O'Reilly's popular book, now also on-line under the
GNU Free Documentation License.
* Title: "Conceptual Architecture of the Linux Kernel" :Notes: You can also buy it in paper-form from O'Reilly. See below
Author: Ivan T. Bowman. under BOOKS (Not on-line).
URL: http://plg.uwaterloo.ca/
Keywords: conceptual software architecture, extracted design, * Title: **Conceptual Architecture of the Linux Kernel**
reverse engineering, system structure.
Description: Conceptual software architecture of the Linux kernel, :Author: Ivan T. Bowman.
automatically extracted from the source code. Very detailed. Good :URL: http://plg.uwaterloo.ca/
figures. Gives good overall kernel understanding. :Keywords: conceptual software architecture, extracted design,
reverse engineering, system structure.
* Title: "Concrete Architecture of the Linux Kernel" :Description: Conceptual software architecture of the Linux kernel,
Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan. automatically extracted from the source code. Very detailed. Good
URL: http://plg.uwaterloo.ca/ figures. Gives good overall kernel understanding.
Keywords: concrete architecture, extracted design, reverse
engineering, system structure, dependencies. * Title: **Concrete Architecture of the Linux Kernel**
Description: Concrete architecture of the Linux kernel,
automatically extracted from the source code. Very detailed. Good :Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
figures. Gives good overall kernel understanding. This papers :URL: http://plg.uwaterloo.ca/
focus on lower details than its predecessor (files, variables...). :Keywords: concrete architecture, extracted design, reverse
engineering, system structure, dependencies.
* Title: "Linux as a Case Study: Its Extracted Software :Description: Concrete architecture of the Linux kernel,
Architecture" automatically extracted from the source code. Very detailed. Good
Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster. figures. Gives good overall kernel understanding. This papers
URL: http://plg.uwaterloo.ca/ focus on lower details than its predecessor (files, variables...).
Keywords: software architecture, architecture recovery,
redocumentation. * Title: **Linux as a Case Study: Its Extracted Software Architecture**
Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
1999. A mixture of the previous two documents from the same :Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.
author. :URL: http://plg.uwaterloo.ca/
:Keywords: software architecture, architecture recovery,
* Title: "Overview of the Virtual File System" redocumentation.
Author: Richard Gooch. :Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt 1999. A mixture of the previous two documents from the same
Keywords: VFS, File System, mounting filesystems, opening files, author.
dentries, dcache.
Description: Brief introduction to the Linux Virtual File System. * Title: **Overview of the Virtual File System**
What is it, how it works, operations taken when opening a file or
mounting a file system and description of important data :Author: Richard Gooch.
structures explaining the purpose of each of their entries. :URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt
:Keywords: VFS, File System, mounting filesystems, opening files,
* Title: "The Linux RAID-1, 4, 5 Code" dentries, dcache.
Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza. :Description: Brief introduction to the Linux Virtual File System.
URL: http://www.linuxjournal.com/article.php?sid=2391 What is it, how it works, operations taken when opening a file or
Keywords: RAID, MD driver. mounting a file system and description of important data
Description: Linux Journal Kernel Korner article. Here is its structures explaining the purpose of each of their entries.
abstract: "A description of the implementation of the RAID-1,
RAID-4 and RAID-5 personalities of the MD device driver in the * Title: **The Linux RAID-1, 4, 5 Code**
Linux kernel, providing users with high performance and reliable,
secondary-storage capability using software". :Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
:URL: http://www.linuxjournal.com/article.php?sid=2391
* Title: "Dynamic Kernels: Modularized Device Drivers" :Keywords: RAID, MD driver.
Author: Alessandro Rubini. :Description: Linux Journal Kernel Korner article. Here is its
URL: http://www.linuxjournal.com/article.php?sid=1219 :Abstract: *A description of the implementation of the RAID-1,
Keywords: device driver, module, loading/unloading modules, RAID-4 and RAID-5 personalities of the MD device driver in the
allocating resources. Linux kernel, providing users with high performance and reliable,
Description: Linux Journal Kernel Korner article. Here is its secondary-storage capability using software*.
abstract: "This is the first of a series of four articles
co-authored by Alessandro Rubini and Georg Zezchwitz which present * Title: **Dynamic Kernels: Modularized Device Drivers**
a practical approach to writing Linux device drivers as kernel
loadable modules. This installment presents an introduction to the :Author: Alessandro Rubini.
topic, preparing the reader to understand next month's :URL: http://www.linuxjournal.com/article.php?sid=1219
installment". :Keywords: device driver, module, loading/unloading modules,
allocating resources.
* Title: "Dynamic Kernels: Discovery" :Description: Linux Journal Kernel Korner article. Here is its
Author: Alessandro Rubini. :Abstract: *This is the first of a series of four articles
URL: http://www.linuxjournal.com/article.php?sid=1220 co-authored by Alessandro Rubini and Georg Zezchwitz which present
Keywords: character driver, init_module, clean_up module, a practical approach to writing Linux device drivers as kernel
autodetection, mayor number, minor number, file operations, loadable modules. This installment presents an introduction to the
open(), close(). topic, preparing the reader to understand next month's
Description: Linux Journal Kernel Korner article. Here is its installment*.
abstract: "This article, the second of four, introduces part of
the actual code to create custom module implementing a character * Title: **Dynamic Kernels: Discovery**
device driver. It describes the code for module initialization and
cleanup, as well as the open() and close() system calls". :Author: Alessandro Rubini.
:URL: http://www.linuxjournal.com/article.php?sid=1220
* Title: "The Devil's in the Details" :Keywords: character driver, init_module, clean_up module,
Author: Georg v. Zezschwitz and Alessandro Rubini. autodetection, mayor number, minor number, file operations,
URL: http://www.linuxjournal.com/article.php?sid=1221 open(), close().
Keywords: read(), write(), select(), ioctl(), blocking/non :Description: Linux Journal Kernel Korner article. Here is its
blocking mode, interrupt handler. :Abstract: *This article, the second of four, introduces part of
Description: Linux Journal Kernel Korner article. Here is its the actual code to create custom module implementing a character
abstract: "This article, the third of four on writing character device driver. It describes the code for module initialization and
device drivers, introduces concepts of reading, writing, and using cleanup, as well as the open() and close() system calls*.
ioctl-calls".
* Title: **The Devil's in the Details**
* Title: "Dissecting Interrupts and Browsing DMA"
Author: Alessandro Rubini and Georg v. Zezschwitz. :Author: Georg v. Zezschwitz and Alessandro Rubini.
URL: http://www.linuxjournal.com/article.php?sid=1222 :URL: http://www.linuxjournal.com/article.php?sid=1221
Keywords: interrupts, irqs, DMA, bottom halves, task queues. :Keywords: read(), write(), select(), ioctl(), blocking/non
Description: Linux Journal Kernel Korner article. Here is its blocking mode, interrupt handler.
abstract: "This is the fourth in a series of articles about :Description: Linux Journal Kernel Korner article. Here is its
writing character device drivers as loadable kernel modules. This :Abstract: *This article, the third of four on writing character
month, we further investigate the field of interrupt handling. device drivers, introduces concepts of reading, writing, and using
Though it is conceptually simple, practical limitations and ioctl-calls*.
constraints make this an ``interesting'' part of device driver
writing, and several different facilities have been provided for * Title: **Dissecting Interrupts and Browsing DMA**
different situations. We also investigate the complex topic of
DMA". :Author: Alessandro Rubini and Georg v. Zezschwitz.
:URL: http://www.linuxjournal.com/article.php?sid=1222
* Title: "Device Drivers Concluded" :Keywords: interrupts, irqs, DMA, bottom halves, task queues.
Author: Georg v. Zezschwitz. :Description: Linux Journal Kernel Korner article. Here is its
URL: http://www.linuxjournal.com/article.php?sid=1287 :Abstract: *This is the fourth in a series of articles about
Keywords: address spaces, pages, pagination, page management, writing character device drivers as loadable kernel modules. This
demand loading, swapping, memory protection, memory mapping, mmap, month, we further investigate the field of interrupt handling.
virtual memory areas (VMAs), vremap, PCI. Though it is conceptually simple, practical limitations and
Description: Finally, the above turned out into a five articles constraints make this an ''interesting'' part of device driver
series. This latest one's introduction reads: "This is the last of writing, and several different facilities have been provided for
five articles about character device drivers. In this final different situations. We also investigate the complex topic of
section, Georg deals with memory mapping devices, beginning with DMA*.
an overall description of the Linux memory management concepts".
* Title: **Device Drivers Concluded**
* Title: "Network Buffers And Memory Management"
Author: Alan Cox. :Author: Georg v. Zezschwitz.
URL: http://www.linuxjournal.com/article.php?sid=1312 :URL: http://www.linuxjournal.com/article.php?sid=1287
Keywords: sk_buffs, network devices, protocol/link layer :Keywords: address spaces, pages, pagination, page management,
variables, network devices flags, transmit, receive, demand loading, swapping, memory protection, memory mapping, mmap,
configuration, multicast. virtual memory areas (VMAs), vremap, PCI.
Description: Linux Journal Kernel Korner. Here is the abstract: :Description: Finally, the above turned out into a five articles
"Writing a network device driver for Linux is fundamentally series. This latest one's introduction reads: "This is the last of
simple---most of the complexity (other than talking to the five articles about character device drivers. In this final
hardware) involves managing network packets in memory". section, Georg deals with memory mapping devices, beginning with
an overall description of the Linux memory management concepts".
* Title: "Linux Kernel Hackers' Guide"
Author: Michael K. Johnson. * Title: **Network Buffers And Memory Management**
URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html
Keywords: device drivers, files, VFS, kernel interface, character vs :Author: Alan Cox.
block devices, hardware interrupts, scsi, DMA, access to user memory, :URL: http://www.linuxjournal.com/article.php?sid=1312
memory allocation, timers. :Keywords: sk_buffs, network devices, protocol/link layer
Description: A guide designed to help you get up to speed on the variables, network devices flags, transmit, receive,
concepts that are not intuitevly obvious, and to document the internal configuration, multicast.
structures of Linux. :Description: Linux Journal Kernel Korner.
:Abstract: *Writing a network device driver for Linux is fundamentally
* Title: "The Venus kernel interface" simple---most of the complexity (other than talking to the
Author: Peter J. Braam. hardware) involves managing network packets in memory*.
URL:
http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html * Title: **Linux Kernel Hackers' Guide**
Keywords: coda, filesystem, venus, cache manager.
Description: "This document describes the communication between :Author: Michael K. Johnson.
Venus and kernel level file system code needed for the operation :URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html
of the Coda filesystem. This version document is meant to describe :Keywords: device drivers, files, VFS, kernel interface, character vs
the current interface (version 1.0) as well as improvements we block devices, hardware interrupts, scsi, DMA, access to user memory,
envisage". memory allocation, timers.
:Description: A guide designed to help you get up to speed on the
* Title: "Programming PCI-Devices under Linux" concepts that are not intuitevly obvious, and to document the internal
Author: Claus Schroeter. structures of Linux.
URL:
ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps.gz * Title: **The Venus kernel interface**
Keywords: PCI, device, busmastering.
Description: 6 pages tutorial on PCI programming under Linux. :Author: Peter J. Braam.
Gives the basic concepts on the architecture of the PCI subsystem, :URL: http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html
as long as basic functions and macros to read/write the devices :Keywords: coda, filesystem, venus, cache manager.
and perform busmastering. :Description: "This document describes the communication between
Venus and kernel level file system code needed for the operation
* Title: "Writing Character Device Driver for Linux" of the Coda filesystem. This version document is meant to describe
Author: R. Baruch and C. Schroeter. the current interface (version 1.0) as well as improvements we
URL: envisage".
ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers.ps.gz
Keywords: character device drivers, I/O, signals, DMA, accessing * Title: **Programming PCI-Devices under Linux**
ports in user space, kernel environment.
Description: 68 pages paper on writing character drivers. A little :Author: Claus Schroeter.
bit old (1.993, 1.994) although still useful. :URL: ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps.gz
:Keywords: PCI, device, busmastering.
* Title: "Design and Implementation of the Second Extended :Description: 6 pages tutorial on PCI programming under Linux.
Filesystem" Gives the basic concepts on the architecture of the PCI subsystem,
Author: Rémy Card, Theodore Ts'o, Stephen Tweedie. as long as basic functions and macros to read/write the devices
URL: http://web.mit.edu/tytso/www/linux/ext2intro.html and perform busmastering.
Keywords: ext2, linux fs history, inode, directory, link, devices,
VFS, physical structure, performance, benchmarks, ext2fs library, * Title: **Writing Character Device Driver for Linux**
ext2fs tools, e2fsck.
Description: Paper written by three of the top ext2 hackers. :Author: R. Baruch and C. Schroeter.
Covers Linux filesystems history, ext2 motivation, ext2 features, :URL: ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers.ps.gz
design, physical structure on disk, performance, benchmarks, :Keywords: character device drivers, I/O, signals, DMA, accessing
e2fsck's passes description... A must read! ports in user space, kernel environment.
Notes: This paper was first published in the Proceedings of the :Description: 68 pages paper on writing character drivers. A little
First Dutch International Symposium on Linux, ISBN 90-367-0385-9. bit old (1.993, 1.994) although still useful.
* Title: "Analysis of the Ext2fs structure" * Title: **Design and Implementation of the Second Extended Filesystem**
Author: Louis-Dominique Dubeau.
URL: http://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/ :Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
Keywords: ext2, filesystem, ext2fs. :URL: http://web.mit.edu/tytso/www/linux/ext2intro.html
Description: Description of ext2's blocks, directories, inodes, :Keywords: ext2, linux fs history, inode, directory, link, devices,
bitmaps, invariants... VFS, physical structure, performance, benchmarks, ext2fs library,
ext2fs tools, e2fsck.
* Title: "Journaling the Linux ext2fs Filesystem" :Description: Paper written by three of the top ext2 hackers.
Author: Stephen C. Tweedie. Covers Linux filesystems history, ext2 motivation, ext2 features,
URL: design, physical structure on disk, performance, benchmarks,
ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/journal-design.ps.gz e2fsck's passes description... A must read!
Keywords: ext3, journaling. :Notes: This paper was first published in the Proceedings of the
Description: Excellent 8-pages paper explaining the journaling First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
capabilities added to ext2 by the author, showing different
problems faced and the alternatives chosen. * Title: **Analysis of the Ext2fs structure**
* Title: "Kernel API changes from 2.0 to 2.2" :Author: Louis-Dominique Dubeau.
Author: Richard Gooch. :URL: http://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/
URL: http://www.safe-mbox.com/~rgooch/linux/docs/porting-to-2.2.html :Keywords: ext2, filesystem, ext2fs.
Keywords: 2.2, changes. :Description: Description of ext2's blocks, directories, inodes,
Description: Kernel functions/structures/variables which changed bitmaps, invariants...
from 2.0.x to 2.2.x.
* Title: **Journaling the Linux ext2fs Filesystem**
* Title: "Kernel API changes from 2.2 to 2.4"
Author: Richard Gooch. :Author: Stephen C. Tweedie.
URL: http://www.safe-mbox.com/~rgooch/linux/docs/porting-to-2.4.html :URL: ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/journal-design.ps.gz
Keywords: 2.4, changes. :Keywords: ext3, journaling.
Description: Kernel functions/structures/variables which changed :Description: Excellent 8-pages paper explaining the journaling
from 2.2.x to 2.4.x. capabilities added to ext2 by the author, showing different
problems faced and the alternatives chosen.
* Title: "Linux Kernel Module Programming Guide"
Author: Ori Pomerantz. * Title: **Kernel API changes from 2.0 to 2.2**
URL: http://tldp.org/LDP/lkmpg/2.6/html/index.html
Keywords: modules, GPL book, /proc, ioctls, system calls, :Author: Richard Gooch.
interrupt handlers . :URL: http://www.safe-mbox.com/~rgooch/linux/docs/porting-to-2.2.html
Description: Very nice 92 pages GPL book on the topic of modules :Keywords: 2.2, changes.
programming. Lots of examples. :Description: Kernel functions/structures/variables which changed
from 2.0.x to 2.2.x.
* Title: "I/O Event Handling Under Linux"
Author: Richard Gooch. * Title: **Kernel API changes from 2.2 to 2.4**
Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
event queues. :Author: Richard Gooch.
Description: From the Introduction: "I/O Event handling is about :URL: http://www.safe-mbox.com/~rgooch/linux/docs/porting-to-2.4.html
how your Operating System allows you to manage a large number of :Keywords: 2.4, changes.
open files (file descriptors in UNIX/POSIX, or FDs) in your :Description: Kernel functions/structures/variables which changed
application. You want the OS to notify you when FDs become active from 2.2.x to 2.4.x.
(have data ready to be read or are ready for writing). Ideally you
want a mechanism that is scalable. This means a large number of * Title: **Linux Kernel Module Programming Guide**
inactive FDs cost very little in memory and CPU time to manage".
:Author: Ori Pomerantz.
* Title: "The Kernel Hacking HOWTO" :URL: http://tldp.org/LDP/lkmpg/2.6/html/index.html
Author: Various Talented People, and Rusty. :Keywords: modules, GPL book, /proc, ioctls, system calls,
Location: in kernel tree, Documentation/DocBook/kernel-hacking.tmpl interrupt handlers .
(must be built as "make {htmldocs | psdocs | pdfdocs}) :Description: Very nice 92 pages GPL book on the topic of modules
Keywords: HOWTO, kernel contexts, deadlock, locking, modules, programming. Lots of examples.
symbols, return conventions.
Description: From the Introduction: "Please understand that I * Title: **I/O Event Handling Under Linux**
never wanted to write this document, being grossly underqualified,
but I always wanted to read it, and this was the only way. I :Author: Richard Gooch.
simply explain some best practices, and give reading entry-points :Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
into the kernel sources. I avoid implementation details: that's event queues.
what the code is for, and I ignore whole tracts of useful :Description: From the Introduction: "I/O Event handling is about
routines. This document assumes familiarity with C, and an how your Operating System allows you to manage a large number of
understanding of what the kernel is, and how it is used. It was open files (file descriptors in UNIX/POSIX, or FDs) in your
originally written for the 2.3 kernels, but nearly all of it application. You want the OS to notify you when FDs become active
applies to 2.2 too; 2.0 is slightly different". (have data ready to be read or are ready for writing). Ideally you
want a mechanism that is scalable. This means a large number of
* Title: "Writing an ALSA Driver" inactive FDs cost very little in memory and CPU time to manage".
Author: Takashi Iwai <tiwai@suse.de>
URL: http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html * Title: **The Kernel Hacking HOWTO**
Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware.
Description: Advanced Linux Sound Architecture for developers, :Author: Various Talented People, and Rusty.
both at kernel and user-level sides. ALSA is the Linux kernel :Location: in kernel tree, Documentation/DocBook/kernel-hacking.tmpl
sound architecture in the 2.6 kernel version. (must be built as "make {htmldocs | psdocs | pdfdocs})
:Keywords: HOWTO, kernel contexts, deadlock, locking, modules,
* Title: "Programming Guide for Linux USB Device Drivers" symbols, return conventions.
Author: Detlef Fliegl. :Description: From the Introduction: "Please understand that I
URL: http://usb.in.tum.de/usbdoc/ never wanted to write this document, being grossly underqualified,
Keywords: USB, universal serial bus. but I always wanted to read it, and this was the only way. I
Description: A must-read. From the Preface: "This document should simply explain some best practices, and give reading entry-points
give detailed information about the current state of the USB into the kernel sources. I avoid implementation details: that's
subsystem and its API for USB device drivers. The first section what the code is for, and I ignore whole tracts of useful
will deal with the basics of USB devices. You will learn about routines. This document assumes familiarity with C, and an
different types of devices and their properties. Going into detail understanding of what the kernel is, and how it is used. It was
you will see how USB devices communicate on the bus. The second originally written for the 2.3 kernels, but nearly all of it
section gives an overview of the Linux USB subsystem [2] and the applies to 2.2 too; 2.0 is slightly different".
device driver framework. Then the API and its data structures will
be explained step by step. The last section of this document * Title: **Writing an ALSA Driver**
contains a reference of all API calls and their return codes".
Notes: Beware: the main page states: "This document may not be :Author: Takashi Iwai <tiwai@suse.de>
published, printed or used in excerpts without explicit permission :URL: http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html
of the author". Fortunately, it may still be read... :Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware.
:Description: Advanced Linux Sound Architecture for developers,
* Title: "Linux Kernel Mailing List Glossary" both at kernel and user-level sides. ALSA is the Linux kernel
Author: various sound architecture in the 2.6 kernel version.
URL: http://kernelnewbies.org/glossary/
Keywords: glossary, terms, linux-kernel. * Title: **Programming Guide for Linux USB Device Drivers**
Description: From the introduction: "This glossary is intended as
a brief description of some of the acronyms and terms you may hear :Author: Detlef Fliegl.
during discussion of the Linux kernel". :URL: http://usb.in.tum.de/usbdoc/
:Keywords: USB, universal serial bus.
* Title: "Linux Kernel Locking HOWTO" :Description: A must-read. From the Preface: "This document should
Author: Various Talented People, and Rusty. give detailed information about the current state of the USB
Location: in kernel tree, Documentation/DocBook/kernel-locking.tmpl subsystem and its API for USB device drivers. The first section
(must be built as "make {htmldocs | psdocs | pdfdocs}) will deal with the basics of USB devices. You will learn about
Keywords: locks, locking, spinlock, semaphore, atomic, race different types of devices and their properties. Going into detail
condition, bottom halves, tasklets, softirqs. you will see how USB devices communicate on the bus. The second
Description: The title says it all: document describing the section gives an overview of the Linux USB subsystem [2] and the
locking system in the Linux Kernel either in uniprocessor or SMP device driver framework. Then the API and its data structures will
systems. be explained step by step. The last section of this document
Notes: "It was originally written for the later (>2.3.47) 2.3 contains a reference of all API calls and their return codes".
kernels, but most of it applies to 2.2 too; 2.0 is slightly :Notes: Beware: the main page states: "This document may not be
different". Freely redistributable under the conditions of the GNU published, printed or used in excerpts without explicit permission
General Public License. of the author". Fortunately, it may still be read...
* Title: "Global spinlock list and usage" * Title: **Linux Kernel Mailing List Glossary**
Author: Rick Lindsley.
URL: http://lse.sourceforge.net/lockhier/global-spin-lock :Author: various
Keywords: spinlock. :URL: http://kernelnewbies.org/glossary/
Description: This is an attempt to document both the existence and :Keywords: glossary, terms, linux-kernel.
usage of the spinlocks in the Linux 2.4.5 kernel. Comprehensive :Description: From the introduction: "This glossary is intended as
list of spinlocks showing when they are used, which functions a brief description of some of the acronyms and terms you may hear
access them, how each lock is acquired, under what conditions it during discussion of the Linux kernel".
is held, whether interrupts can occur or not while it is held...
* Title: **Linux Kernel Locking HOWTO**
* Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New
Features " :Author: Various Talented People, and Rusty.
Author: Alan Cox. :Location: in kernel tree, Documentation/DocBook/kernel-locking.tmpl
URL: http://www.linux-mag.com/1999-05/gear_01.html (must be built as "make {htmldocs | psdocs | pdfdocs})
Keywords: ports, porting. :Keywords: locks, locking, spinlock, semaphore, atomic, race
Description: Article from Linux Magazine on porting from 2.0 to condition, bottom halves, tasklets, softirqs.
2.2 kernels. :Description: The title says it all: document describing the
locking system in the Linux Kernel either in uniprocessor or SMP
* Title: "Porting Device Drivers To Linux 2.2: part II" systems.
Author: Alan Cox. :Notes: "It was originally written for the later (>2.3.47) 2.3
URL: http://www.linux-mag.com/id/238 kernels, but most of it applies to 2.2 too; 2.0 is slightly
Keywords: ports, porting. different". Freely redistributable under the conditions of the GNU
Description: Second part on porting from 2.0 to 2.2 kernels. General Public License.
* Title: "How To Make Sure Your Driver Will Work On The Power * Title: **Global spinlock list and usage**
Macintosh"
Author: Paul Mackerras. :Author: Rick Lindsley.
URL: http://www.linux-mag.com/id/261 :URL: http://lse.sourceforge.net/lockhier/global-spin-lock
Keywords: Mac, Power Macintosh, porting, drivers, compatibility. :Keywords: spinlock.
Description: The title says it all. :Description: This is an attempt to document both the existence and
usage of the spinlocks in the Linux 2.4.5 kernel. Comprehensive
* Title: "An Introduction to SCSI Drivers" list of spinlocks showing when they are used, which functions
Author: Alan Cox. access them, how each lock is acquired, under what conditions it
URL: http://www.linux-mag.com/id/284 is held, whether interrupts can occur or not while it is held...
Keywords: SCSI, device, driver.
Description: The title says it all. * Title: **Porting Linux 2.0 Drivers To Linux 2.2: Changes and New Features**
* Title: "Advanced SCSI Drivers And Other Tales" :Author: Alan Cox.
Author: Alan Cox. :URL: http://www.linux-mag.com/1999-05/gear_01.html
URL: http://www.linux-mag.com/id/307 :Keywords: ports, porting.
Keywords: SCSI, device, driver, advanced. :Description: Article from Linux Magazine on porting from 2.0 to
Description: The title says it all. 2.2 kernels.
* Title: "Writing Linux Mouse Drivers" * Title: **Porting Device Drivers To Linux 2.2: part II**
Author: Alan Cox.
URL: http://www.linux-mag.com/id/330 :Author: Alan Cox.
Keywords: mouse, driver, gpm. :URL: http://www.linux-mag.com/id/238
Description: The title says it all. :Keywords: ports, porting.
:Description: Second part on porting from 2.0 to 2.2 kernels.
* Title: "More on Mouse Drivers"
Author: Alan Cox. * Title: **How To Make Sure Your Driver Will Work On The Power Macintosh**
URL: http://www.linux-mag.com/id/356
Keywords: mouse, driver, gpm, races, asynchronous I/O. :Author: Paul Mackerras.
Description: The title still says it all. :URL: http://www.linux-mag.com/id/261
:Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
* Title: "Writing Video4linux Radio Driver" :Description: The title says it all.
Author: Alan Cox.
URL: http://www.linux-mag.com/id/381 * Title: **An Introduction to SCSI Drivers**
Keywords: video4linux, driver, radio, radio devices.
Description: The title says it all. :Author: Alan Cox.
:URL: http://www.linux-mag.com/id/284
* Title: "Video4linux Drivers, Part 1: Video-Capture Device" :Keywords: SCSI, device, driver.
Author: Alan Cox. :Description: The title says it all.
URL: http://www.linux-mag.com/id/406
Keywords: video4linux, driver, video capture, capture devices, * Title: **Advanced SCSI Drivers And Other Tales**
camera driver.
Description: The title says it all. :Author: Alan Cox.
:URL: http://www.linux-mag.com/id/307
* Title: "Video4linux Drivers, Part 2: Video-capture Devices" :Keywords: SCSI, device, driver, advanced.
Author: Alan Cox. :Description: The title says it all.
URL: http://www.linux-mag.com/id/429
Keywords: video4linux, driver, video capture, capture devices, * Title: **Writing Linux Mouse Drivers**
camera driver, control, query capabilities, capability, facility.
Description: The title says it all. :Author: Alan Cox.
:URL: http://www.linux-mag.com/id/330
* Title: "PCI Management in Linux 2.2" :Keywords: mouse, driver, gpm.
Author: Alan Cox. :Description: The title says it all.
URL: http://www.linux-mag.com/id/452
Keywords: PCI, bus, bus-mastering. * Title: **More on Mouse Drivers**
Description: The title says it all.
:Author: Alan Cox.
* Title: "Linux 2.4 Kernel Internals" :URL: http://www.linux-mag.com/id/356
Author: Tigran Aivazian and Christoph Hellwig. :Keywords: mouse, driver, gpm, races, asynchronous I/O.
URL: http://www.moses.uklinux.net/patches/lki.html :Description: The title still says it all.
Keywords: Linux, kernel, booting, SMB boot, VFS, page cache.
Description: A little book used for a short training course. * Title: **Writing Video4linux Radio Driver**
Covers building the kernel image, booting (including SMP bootup),
process management, VFS and more. :Author: Alan Cox.
:URL: http://www.linux-mag.com/id/381
* Title: "Linux IP Networking. A Guide to the Implementation and :Keywords: video4linux, driver, radio, radio devices.
Modification of the Linux Protocol Stack." :Description: The title says it all.
Author: Glenn Herrin.
URL: http://www.cs.unh.edu/cnrg/gherrin * Title: **Video4linux Drivers, Part 1: Video-Capture Device**
Keywords: network, networking, protocol, IP, UDP, TCP, connection,
socket, receiving, transmitting, forwarding, routing, packets, :Author: Alan Cox.
modules, /proc, sk_buff, FIB, tags. :URL: http://www.linux-mag.com/id/406
Description: Excellent paper devoted to the Linux IP Networking, :Keywords: video4linux, driver, video capture, capture devices,
explaining anything from the kernel's to the user space camera driver.
configuration tools' code. Very good to get a general overview of :Description: The title says it all.
the kernel networking implementation and understand all steps
packets follow from the time they are received at the network * Title: **Video4linux Drivers, Part 2: Video-capture Devices**
device till they are delivered to applications. The studied kernel
code is from 2.2.14 version. Provides code for a working packet :Author: Alan Cox.
dropper example. :URL: http://www.linux-mag.com/id/429
:Keywords: video4linux, driver, video capture, capture devices,
* Title: "Get those boards talking under Linux." camera driver, control, query capabilities, capability, facility.
Author: Alex Ivchenko. :Description: The title says it all.
URL: http://www.edn.com/article/CA46968.html
Keywords: data-acquisition boards, drivers, modules, interrupts, * Title: **PCI Management in Linux 2.2**
memory allocation.
Description: Article written for people wishing to make their data :Author: Alan Cox.
acquisition boards work on their GNU/Linux machines. Gives a basic :URL: http://www.linux-mag.com/id/452
overview on writing drivers, from the naming of functions to :Keywords: PCI, bus, bus-mastering.
interrupt handling. :Description: The title says it all.
Notes: Two-parts article. Part II is at
URL: http://www.edn.com/article/CA46998.html * Title: **Linux 2.4 Kernel Internals**
* Title: "Linux PCMCIA Programmer's Guide" :Author: Tigran Aivazian and Christoph Hellwig.
Author: David Hinds. :URL: http://www.moses.uklinux.net/patches/lki.html
URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html :Keywords: Linux, kernel, booting, SMB boot, VFS, page cache.
Keywords: PCMCIA. :Description: A little book used for a short training course.
Description: "This document describes how to write kernel device Covers building the kernel image, booting (including SMP bootup),
drivers for the Linux PCMCIA Card Services interface. It also process management, VFS and more.
describes how to write user-mode utilities for communicating with
Card Services. * Title: **Linux IP Networking. A Guide to the Implementation and Modification of the Linux Protocol Stack.**
* Title: "The Linux Kernel NFSD Implementation" :Author: Glenn Herrin.
Author: Neil Brown. :URL: http://www.cs.unh.edu/cnrg/gherrin
URL: :Keywords: network, networking, protocol, IP, UDP, TCP, connection,
http://www.cse.unsw.edu.au/~neilb/oss/linux-commentary/nfsd.html socket, receiving, transmitting, forwarding, routing, packets,
Keywords: knfsd, nfsd, NFS, RPC, lockd, mountd, statd. modules, /proc, sk_buff, FIB, tags.
Description: The title says it all. :Description: Excellent paper devoted to the Linux IP Networking,
Notes: Covers knfsd's version 1.4.7 (patch against 2.2.7 kernel). explaining anything from the kernel's to the user space
configuration tools' code. Very good to get a general overview of
* Title: "A Linux vm README" the kernel networking implementation and understand all steps
Author: Kanoj Sarcar. packets follow from the time they are received at the network
URL: http://kos.enix.org/pub/linux-vmm.html device till they are delivered to applications. The studied kernel
Keywords: virtual memory, mm, pgd, vma, page, page flags, page code is from 2.2.14 version. Provides code for a working packet
cache, swap cache, kswapd. dropper example.
Description: Telegraphic, short descriptions and definitions
relating the Linux virtual memory implementation. * Title: **Get those boards talking under Linux.**
* Title: "(nearly) Complete Linux Loadable Kernel Modules. The :Author: Alex Ivchenko.
definitive guide for hackers, virus coders and system :URL: http://www.edn.com/article/CA46968.html
administrators." :Keywords: data-acquisition boards, drivers, modules, interrupts,
Author: pragmatic/THC. memory allocation.
URL: http://packetstormsecurity.org/docs/hack/LKM_HACKING.html :Description: Article written for people wishing to make their data
Keywords: syscalls, intercept, hide, abuse, symbol table. acquisition boards work on their GNU/Linux machines. Gives a basic
Description: Interesting paper on how to abuse the Linux kernel in overview on writing drivers, from the naming of functions to
order to intercept and modify syscalls, make interrupt handling.
files/directories/processes invisible, become root, hijack ttys, :Notes: Two-parts article. Part II is at
write kernel modules based virus... and solutions for admins to :URL: http://www.edn.com/article/CA46998.html
avoid all those abuses.
Notes: For 2.0.x kernels. Gives guidances to port it to 2.2.x * Title: **Linux PCMCIA Programmer's Guide**
kernels.
:Author: David Hinds.
BOOKS: (Not on-line) :URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html
:Keywords: PCMCIA.
* Title: "Linux Device Drivers" :Description: "This document describes how to write kernel device
Author: Alessandro Rubini. drivers for the Linux PCMCIA Card Services interface. It also
Publisher: O'Reilly & Associates. describes how to write user-mode utilities for communicating with
Date: 1998. Card Services.
Pages: 439.
ISBN: 1-56592-292-1 * Title: **The Linux Kernel NFSD Implementation**
* Title: "Linux Device Drivers, 2nd Edition" :Author: Neil Brown.
Author: Alessandro Rubini and Jonathan Corbet. :URL: http://www.cse.unsw.edu.au/~neilb/oss/linux-commentary/nfsd.html
Publisher: O'Reilly & Associates. :Keywords: knfsd, nfsd, NFS, RPC, lockd, mountd, statd.
Date: 2001. :Description: The title says it all.
Pages: 586. :Notes: Covers knfsd's version 1.4.7 (patch against 2.2.7 kernel).
ISBN: 0-59600-008-1
Notes: Further information in * Title: **A Linux vm README**
http://www.oreilly.com/catalog/linuxdrive2/
:Author: Kanoj Sarcar.
* Title: "Linux Device Drivers, 3rd Edition" :URL: http://kos.enix.org/pub/linux-vmm.html
Authors: Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman :Keywords: virtual memory, mm, pgd, vma, page, page flags, page
Publisher: O'Reilly & Associates. cache, swap cache, kswapd.
Date: 2005. :Description: Telegraphic, short descriptions and definitions
Pages: 636. relating the Linux virtual memory implementation.
ISBN: 0-596-00590-3
Notes: Further information in * Title: **(nearly) Complete Linux Loadable Kernel Modules. The definitive guide for hackers, virus coders and system administrators.**
http://www.oreilly.com/catalog/linuxdrive3/
PDF format, URL: http://lwn.net/Kernel/LDD3/ :Author: pragmatic/THC.
:URL: http://packetstormsecurity.org/docs/hack/LKM_HACKING.html
* Title: "Linux Kernel Internals" :Keywords: syscalls, intercept, hide, abuse, symbol table.
Author: Michael Beck. :Description: Interesting paper on how to abuse the Linux kernel in
Publisher: Addison-Wesley. order to intercept and modify syscalls, make
Date: 1997. files/directories/processes invisible, become root, hijack ttys,
ISBN: 0-201-33143-8 (second edition) write kernel modules based virus... and solutions for admins to
avoid all those abuses.
* Title: "The Design of the UNIX Operating System" :Notes: For 2.0.x kernels. Gives guidances to port it to 2.2.x
Author: Maurice J. Bach. kernels.
Publisher: Prentice Hall.
Date: 1986. BOOKS: (Not on-line)
Pages: 471. --------------------
ISBN: 0-13-201757-1
* Title: **Linux Device Drivers**
* Title: "The Design and Implementation of the 4.3 BSD UNIX
Operating System" :Author: Alessandro Rubini.
Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J. :Publisher: O'Reilly & Associates.
Karels, John S. Quarterman. :Date: 1998.
Publisher: Addison-Wesley. :Pages: 439.
Date: 1989 (reprinted with corrections on October, 1990). :ISBN: 1-56592-292-1
ISBN: 0-201-06196-1
* Title: **Linux Device Drivers, 2nd Edition**
* Title: "The Design and Implementation of the 4.4 BSD UNIX
Operating System" :Author: Alessandro Rubini and Jonathan Corbet.
Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, :Publisher: O'Reilly & Associates.
John S. Quarterman. :Date: 2001.
Publisher: Addison-Wesley. :Pages: 586.
Date: 1996. :ISBN: 0-59600-008-1
ISBN: 0-201-54979-4 :Notes: Further information in
http://www.oreilly.com/catalog/linuxdrive2/
* Title: "Programmation Linux 2.0 API systeme et fonctionnement du
noyau" * Title: **Linux Device Drivers, 3rd Edition**
Author: Remy Card, Eric Dumas, Franck Mevel.
Publisher: Eyrolles. :Authors: Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
Date: 1997. :Publisher: O'Reilly & Associates.
Pages: 520. :Date: 2005.
ISBN: 2-212-08932-5 :Pages: 636.
Notes: French. :ISBN: 0-596-00590-3
:Notes: Further information in
* Title: "Unix internals -- the new frontiers" http://www.oreilly.com/catalog/linuxdrive3/
Author: Uresh Vahalia. PDF format, URL: http://lwn.net/Kernel/LDD3/
Publisher: Prentice Hall.
Date: 1996. * Title: **Linux Kernel Internals**
Pages: 600.
ISBN: 0-13-101908-2 :Author: Michael Beck.
:Publisher: Addison-Wesley.
* Title: "Programming for the real world - POSIX.4" :Date: 1997.
Author: Bill O. Gallmeister. :ISBN: 0-201-33143-8 (second edition)
Publisher: O'Reilly & Associates, Inc..
Date: 1995. * Title: **The Design of the UNIX Operating System**
Pages: ???.
ISBN: I-56592-074-0 :Author: Maurice J. Bach.
Notes: Though not being directly about Linux, Linux aims to be :Publisher: Prentice Hall.
POSIX. Good reference. :Date: 1986.
:Pages: 471.
* Title: "UNIX Systems for Modern Architectures: Symmetric :ISBN: 0-13-201757-1
Multiprocessing and Caching for Kernel Programmers"
Author: Curt Schimmel. * Title: **The Design and Implementation of the 4.3 BSD UNIX Operating System**
Publisher: Addison Wesley.
Date: June, 1994. :Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J.
Pages: 432. Karels, John S. Quarterman.
ISBN: 0-201-63338-8 :Publisher: Addison-Wesley.
:Date: 1989 (reprinted with corrections on October, 1990).
* Title: "Linux Kernel Development, 3rd Edition" :ISBN: 0-201-06196-1
Author: Robert Love
Publisher: Addison-Wesley. * Title: **The Design and Implementation of the 4.4 BSD UNIX Operating System**
Date: July, 2010
Pages: 440 :Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels,
ISBN: 978-0672329463 John S. Quarterman.
:Publisher: Addison-Wesley.
MISCELLANEOUS: :Date: 1996.
:ISBN: 0-201-54979-4
* Name: linux/Documentation
Author: Many. * Title: **Programmation Linux 2.0 API systeme et fonctionnement du noyau**
URL: Just look inside your kernel sources.
Keywords: anything, DocBook. :Author: Remy Card, Eric Dumas, Franck Mevel.
Description: Documentation that comes with the kernel sources, :Publisher: Eyrolles.
inside the Documentation directory. Some pages from this document :Date: 1997.
(including this document itself) have been moved there, and might :Pages: 520.
be more up to date than the web version. :ISBN: 2-212-08932-5
:Notes: French.
* Name: "Linux Kernel Source Reference"
Author: Thomas Graichen. * Title: **Unix internals -- the new frontiers**
URL: http://marc.info/?l=linux-kernel&m=96446640102205&w=4
Keywords: CVS, web, cvsweb, browsing source code. :Author: Uresh Vahalia.
Description: Web interface to a CVS server with the kernel :Publisher: Prentice Hall.
sources. "Here you can have a look at any file of the Linux kernel :Date: 1996.
sources of any version starting from 1.0 up to the (daily updated) :Pages: 600.
current version available. Also you can check the differences :ISBN: 0-13-101908-2
between two versions of a file".
* Title: **Programming for the real world - POSIX.4**
* Name: "Cross-Referencing Linux"
URL: http://lxr.free-electrons.com/ :Author: Bill O. Gallmeister.
Keywords: Browsing source code. :Publisher: O'Reilly & Associates, Inc..
Description: Another web-based Linux kernel source code browser. :Date: 1995.
Lots of cross references to variables and functions. You can see :Pages: ???.
where they are defined and where they are used. :ISBN: I-56592-074-0
:Notes: Though not being directly about Linux, Linux aims to be
* Name: "Linux Weekly News" POSIX. Good reference.
URL: http://lwn.net
Keywords: latest kernel news. * Title: **UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers**
Description: The title says it all. There's a fixed kernel section
summarizing developers' work, bug fixes, new features and versions :Author: Curt Schimmel.
produced during the week. Published every Thursday. :Publisher: Addison Wesley.
:Date: June, 1994.
* Name: "Kernel Traffic" :Pages: 432.
URL: http://kt.earth.li/kernel-traffic/index.html :ISBN: 0-201-63338-8
Keywords: linux-kernel mailing list, weekly kernel news.
Description: Weekly newsletter covering the most relevant * Title: **Linux Kernel Development, 3rd Edition**
discussions of the linux-kernel mailing list.
:Author: Robert Love
* Name: "CuTTiNG.eDGe.LiNuX" :Publisher: Addison-Wesley.
URL: http://edge.kernelnotes.org :Date: July, 2010
Keywords: changelist. :Pages: 440
Description: Site which provides the changelist for every kernel :ISBN: 978-0672329463
release. What's new, what's better, what's changed. Myrdraal reads
the patches and describes them. Pointers to the patches are there, MISCELLANEOUS
too. -------------
* Name: "New linux-kernel Mailing List FAQ" * Name: **linux/Documentation**
URL: http://www.tux.org/lkml/
Keywords: linux-kernel mailing list FAQ. :Author: Many.
Description: linux-kernel is a mailing list for developers to :URL: Just look inside your kernel sources.
communicate. This FAQ builds on the previous linux-kernel mailing :Keywords: anything, DocBook.
list FAQ maintained by Frohwalt Egerer, who no longer maintains :Description: Documentation that comes with the kernel sources,
it. Read it to see how to join the mailing list. Dozens of inside the Documentation directory. Some pages from this document
interesting questions regarding the list, Linux, developers (who (including this document itself) have been moved there, and might
is ...?), terms (what is...?) are answered here too. Just read it. be more up to date than the web version.
* Name: "Linux Virtual File System" * Name: **Linux Kernel Source Reference**
Author: Peter J. Braam.
URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/ :Author: Thomas Graichen.
Keywords: slides, VFS, inode, superblock, dentry, dcache. :URL: http://marc.info/?l=linux-kernel&m=96446640102205&w=4
Description: Set of slides, presumably from a presentation on the :Keywords: CVS, web, cvsweb, browsing source code.
Linux VFS layer. Covers version 2.1.x, with dentries and the :Description: Web interface to a CVS server with the kernel
dcache. sources. "Here you can have a look at any file of the Linux kernel
sources of any version starting from 1.0 up to the (daily updated)
* Name: "Gary's Encyclopedia - The Linux Kernel" current version available. Also you can check the differences
Author: Gary (I suppose...). between two versions of a file".
URL: http://slencyclopedia.berlios.de/index.html
Keywords: linux, community, everything! * Name: **Cross-Referencing Linux**
Description: Gary's Encyclopedia exists to allow the rapid finding
of documentation and other information of interest to GNU/Linux :URL: http://lxr.free-electrons.com/
users. It has about 4000 links to external pages in 150 major :Keywords: Browsing source code.
categories. This link is for kernel-specific links, documents, :Description: Another web-based Linux kernel source code browser.
sites... This list is now hosted by developer.Berlios.de, Lots of cross references to variables and functions. You can see
but seems not to have been updated since sometime in 1999. where they are defined and where they are used.
* Name: "The home page of Linux-MM" * Name: **Linux Weekly News**
Author: The Linux-MM team.
URL: http://linux-mm.org/ :URL: http://lwn.net
Keywords: memory management, Linux-MM, mm patches, TODO, docs, :Keywords: latest kernel news.
mailing list. :Description: The title says it all. There's a fixed kernel section
Description: Site devoted to Linux Memory Management development. summarizing developers' work, bug fixes, new features and versions
Memory related patches, HOWTOs, links, mm developers... Don't miss produced during the week. Published every Thursday.
it if you are interested in memory management development!
* Name: **Kernel Traffic**
* Name: "Kernel Newbies IRC Channel and Website"
URL: http://www.kernelnewbies.org :URL: http://kt.earth.li/kernel-traffic/index.html
Keywords: IRC, newbies, channel, asking doubts. :Keywords: linux-kernel mailing list, weekly kernel news.
Description: #kernelnewbies on irc.oftc.net. :Description: Weekly newsletter covering the most relevant
#kernelnewbies is an IRC network dedicated to the 'newbie' discussions of the linux-kernel mailing list.
kernel hacker. The audience mostly consists of people who are
learning about the kernel, working on kernel projects or * Name: **CuTTiNG.eDGe.LiNuX**
professional kernel hackers that want to help less seasoned kernel
people. :URL: http://edge.kernelnotes.org
#kernelnewbies is on the OFTC IRC Network. :Keywords: changelist.
Try irc.oftc.net as your server and then /join #kernelnewbies. :Description: Site which provides the changelist for every kernel
The kernelnewbies website also hosts articles, documents, FAQs... release. What's new, what's better, what's changed. Myrdraal reads
the patches and describes them. Pointers to the patches are there,
* Name: "linux-kernel mailing list archives and search engines" too.
URL: http://vger.kernel.org/vger-lists.html
URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html * Name: **New linux-kernel Mailing List FAQ**
URL: http://marc.theaimsgroup.com/?l=linux-kernel
URL: http://groups.google.com/group/mlist.linux.kernel :URL: http://www.tux.org/lkml/
URL: http://www.cs.helsinki.fi/linux/linux-kernel/ :Keywords: linux-kernel mailing list FAQ.
URL: http://www.lib.uaa.alaska.edu/linux-kernel/ :Description: linux-kernel is a mailing list for developers to
Keywords: linux-kernel, archives, search. communicate. This FAQ builds on the previous linux-kernel mailing
Description: Some of the linux-kernel mailing list archivers. If list FAQ maintained by Frohwalt Egerer, who no longer maintains
you have a better/another one, please let me know. it. Read it to see how to join the mailing list. Dozens of
_________________________________________________________________ interesting questions regarding the list, Linux, developers (who
is ...?), terms (what is...?) are answered here too. Just read it.
Document last updated on Sat 2005-NOV-19
* Name: **Linux Virtual File System**
:Author: Peter J. Braam.
:URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/
:Keywords: slides, VFS, inode, superblock, dentry, dcache.
:Description: Set of slides, presumably from a presentation on the
Linux VFS layer. Covers version 2.1.x, with dentries and the
dcache.
* Name: **Gary's Encyclopedia - The Linux Kernel**
:Author: Gary (I suppose...).
:URL: http://slencyclopedia.berlios.de/index.html
:Keywords: linux, community, everything!
:Description: Gary's Encyclopedia exists to allow the rapid finding
of documentation and other information of interest to GNU/Linux
users. It has about 4000 links to external pages in 150 major
categories. This link is for kernel-specific links, documents,
sites... This list is now hosted by developer.Berlios.de,
but seems not to have been updated since sometime in 1999.
* Name: **The home page of Linux-MM**
:Author: The Linux-MM team.
:URL: http://linux-mm.org/
:Keywords: memory management, Linux-MM, mm patches, TODO, docs,
mailing list.
:Description: Site devoted to Linux Memory Management development.
Memory related patches, HOWTOs, links, mm developers... Don't miss
it if you are interested in memory management development!
* Name: **Kernel Newbies IRC Channel and Website**
:URL: http://www.kernelnewbies.org
:Keywords: IRC, newbies, channel, asking doubts.
:Description: #kernelnewbies on irc.oftc.net.
#kernelnewbies is an IRC network dedicated to the 'newbie'
kernel hacker. The audience mostly consists of people who are
learning about the kernel, working on kernel projects or
professional kernel hackers that want to help less seasoned kernel
people.
#kernelnewbies is on the OFTC IRC Network.
Try irc.oftc.net as your server and then /join #kernelnewbies.
The kernelnewbies website also hosts articles, documents, FAQs...
* Name: **linux-kernel mailing list archives and search engines**
:URL: http://vger.kernel.org/vger-lists.html
:URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html
:URL: http://marc.theaimsgroup.com/?l=linux-kernel
:URL: http://groups.google.com/group/mlist.linux.kernel
:URL: http://www.cs.helsinki.fi/linux/linux-kernel/
:URL: http://www.lib.uaa.alaska.edu/linux-kernel/
:Keywords: linux-kernel, archives, search.
:Description: Some of the linux-kernel mailing list archivers. If
you have a better/another one, please let me know.
-------
Document last updated on Sat 2005-NOV-19
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment