★ wanayoo — archive 1999 http://kernelbook.sourceforge.net/Nouvelle recherche | Portail wanayoo

The Linux Kernel

Blueprints for World Domination

this site hosted by .. The SourceForge

intro -- status -- table of contents -- resources -- contributing -- official kernel docs
This is a work in progress; everything is negotiable

Gary Lawrence Murphy

Principle Consultant
TCI Ontario
garym@teledyn.com

Richard Sevenich
rsevenic@penguin.sirti.org

Juan-Mariano de Goyeneche
jmseyas@dit.upm.es

Manuel J. Petit de Gabriel
mpetit@dit.upm.es

Tom Lees
Debian GNU/Linux
tom@debian.org

Kurt Garloff
SuSE
garloff@suse.de

Armin Kuster
MontaVista Software Inc
akuster@mvista.com

Alolita Sharma
cWare Consulting
asharma@cwareco.com

Nilayan Sharma
cWare Consulting
nsharma@cwareco.com

Bob Adkins
cWare Consulting
radkins@cwareco.com

Bertrand Lee
Creative Labs
Bertrand_Lee@climail.cli.creaf.com

Donald Jeff Dionne
uCLinux
jeff@uclinux.org

Michael Durrant
Ryerson Polytechnic
mdurrant@rt-control.com

Richard West
Georgia Tech
west@cc.gatech.edu

Christian Poellabauer
Georgia Tech
chris@cc.gatech.edu


The Linux Kernel - The Book

What is this? Another book on the Linux Kernel? Yes, I'm afraid so but I am also hoping this will not be just another book.

Welcome to my nightmare: A note from the author

This is not 'my' book. My vision for this book is an evolving community thing, a co-ordinated effort of many rather than the disjoint work of a few; very much like Linux itself. 'Contributed' chapters do have a paid 'author', but the manuscript sits out in public and invites public review.

Our contributing authors are better described as a 'maintainers' and my own 'principle author' role is as the 'project lead'; we have a hierarchical project management system where my job is to co-ordinate the process and to ensure a cohesive work (in addition to writing), the maintainers are paid to ensure technical completeness and also to ensure we have this ready for publication on time, and the public is invited to be as much an 'author' as they might with any open source project. We have already received small patches against the public CVS sources; I'd like to receive a lot more.

While we are rushing to have a first edition manuscript ready for fall, the project will not stop there. The book is written in DocBook, licensed under the OPL and hosted in the CVS here at SourceForge: The methodology is designed to allow incremental updates; the book will start with the 2.4 kernel, but should evolve to follow 2.5 and beyond.

Our first (and considerable) hurdle is to map the entire 2.4 kernel in one go. Hopefully, once this groundwork is done, keeping current will be a less daunting task. My theory for why the LKHG and other similar projects failed is because they lacked a revision framework, or were tied up in the personal style of their author. By releasing through MCP while using an open source authoring process, I hope to gain the best of both worlds and avoid both problems.

We're billing this as the "architecture of the Linux kernel" and target commercial developers and potential participants in Linux development. I don't want another API book or one that reads you the source code; Documentation/DocBook will provide the low-level API guides someday, and Alessandro and others are already working on updates to their prior books.

If someone is brave enough to open a book called "The Linux Kernel", they are brave enough to read source code; they need only the conceptual framework to make sense of low-level source details within high-level schemes of the O/S. They need maps of inter-relations between components they plan to change and the rest of the kernel.

This is the guide to how the kernel fits together, the subsystems and algorithms, maps of interconnections and trouble spots. Not how we think it is, but, where possible, the concrete architecture of what it really is.

We need to present Linux design requirements as if we were about to build it, and become a metric to measure our progress. As the subtitle suggests, the book specs out a blueprint of how to implement Linux 2.4, abstract (or informed and forward-thinking) enough that it won't go out of date with 2.5.3. (except where the classes++ vs riel++ or reiserfs are concerned ;). To keep things clear and consistent, standard UML is encouraged.

Anyway, that's my grand, evil, megalomaniacal plan ;) and I will depend on any and all participation, guidance, advice, sketches, snippets, hearsay, questions, comments, encouragement and sympathy to make this happen. In this page, you will find links to our project page, our mailing lists and a call for participation --- this thing is only going to work if we work together to make it happen.

Gary Lawrence Murphy <garym@linux.ca>
Sauble Beach, June 21, 2000

What we have

It's coming along, bit by bit. We have a Table of Contents and an initial list of contributing authors, we have the support of Macmillan Computer Publishing who are supplying funding and editorial review, and we have this site and the corresponding SourceForge Project Page and an associated FTP site; the kernel book is the first ever online collaborative authoring environment for a major trade publication using the SourceForge and the DocBook DTD, and it is a learning experience for everyone.

This website includes our present Table of Contents but does not yet include any HTML editions of the chapters from the book; these will be added as they are released for review (and once I figure out how to get DSSSL not to link unwritten pages to the TOC). The FTP site does offer review copies of a few chapters in PDF format and will also contain any software bound for the CD to accompany the book.
Authoring Team Resources Public Resources
  • KernelBook Project Page
    https://sourceforge.net/project/kernelbook
  • Authors and Contributors Mailing list
  • FTP site with kernel programming tools and other goodies bound for the CDROM.
  • TCI DocBook Help Pages
  • Tell us what you need!
    Join the Kernelbook Public Peer Review mailing list
  • KernelBook FTP site
  • TCI Kernel Resources lists some website with kernel guides, reverse engineering software and other tidbits used to write this book.
  • Free downloadable and HTML GFDL Linux 2.3 kernel-docs
  • Latest preview release:

    An early preview release is available for download through the KernelBook Downloads page. The preview is only available in RTF format --- which means "no diagrams". Much prettier Adobe Acrobat editions of the following chapters are available from our FTP site:

  • Linux is not Unix
  • Installing and Configuring Kernel Sources
  • Tools for Kernel Programming
  • Contributing to Linux
  • Plug'n'Play Subsystem
  • If you download these, please tell us what you think. Send all feedback to the kernelbook-feedback mailing list or send email to Gary Murphy.

    Want to play?

    We need contributors, and we welcome all public input and technical review. Official maintainers for each chapter of the book have exclusive write permissions to the CVS and are paid by MCP to deliver the chapter according to our publishing schedules. If you would like to claim a chapter, send email to garym@linux.ca explaining why you should be the supreme master of that niche.

    All authoring and review for the kernel book is done using Norm Walsh's DocBook 3.1 DTD and managed via CVS on Sourceforge.

    If you would just like to comment on the book please join our mailing list or leave a message in the review forums on the main project page. We also welcome patches against the CVS sources to correct or extend the current document.

    Official Linux Kernel-Docs

    Documents updated: Sun Jun 25 17:01:40 2000

    Thanks to the heroic efforts of Tim Waugh and Alan Cox, the 2.4 kernel sources now include a kernel-doc script for generating manpage-like 'reference pages' from the GNOME-like comments in the source code files. While not every developer has adopted the GNOME comment block convention, everyone reading this page has become completely convinced that it is in everyone's best interest to get into it (how's that for subliminal suggestion?)

    As a public service, and to give you some value add until there is enough of the kernel book online to make it worth your while to read it, we're pleased to offer the kernel-doc collection pre-generated through OpenJade as downloadable PDF and gzipped Postscript, and with (limited) HTML versions online:

    The Parallel Port Subsystem
    by Tim Waugh
  • Online HTML
  • PDF Document (66k)
  • Compressed Postscript
  • The Z8530 Programming Guide
    by Alan Cox
  • Online HTML
  • PDF Document (62k)
  • Compressed Postscript
  • Synchronous PPP and Cisco HDLC Programming Guide
    by Alan Cox
  • Online HTML
  • PDF Document (15k)
  • Compressed Postscript
  • The Video4Linux Book
    by Alan Cox
  • Online HTML
  • PDF Document (76k)
  • Compressed Postscript
  • The MCA Driver Programming Interface
    by Alan Cox
  • Online HTML
  • PDF Document (27k)
  • Compressed Postscript
  • CML2: Kernel Configuration Menu Language
    by Eric S. Raymond
  • Online HTML
  • PDF Document (56k)
  • Compressed Postscript
  • The Linux Kernel API
  • Online HTML
  • PDF Document (230k)
  • Compressed Postscript
  • Unrealiable Guide to Kernel Hacking
    by Paul 'Rusty' Russel
  • Online HTML
  • PDF Document (50k)
  • Compressed Postscript
  • Unrealiable Guide to Locking
    by Paul 'Rusty' Russel
  • Online HTML
  • PDF Document (50k)
  • Compressed Postscript
  • More documents will be added as they become available.

    Gary Lawrence Murphy
    Teledynamics Communications Inc
    Thu Jul 20 17:31:48 2000