Linux Kernel Resources

This page has references to various kernel resources (web sites and mailing lists) for developers. Most of this information was gathered over a year ago, and may not be accurate.

/\ Note: You should always look at the kernel MAINTAINERS file for up-to-date information

Vanilla Linux kernel
- web site = http://www.kernel.org/ - Linux Kernel Source Tarballs - Linus' Git Repository - Mercurial mirror of Linus's Git Repository


 * If this doesn't have everything you need, something is wrong.
 * In the embedded world, many things are often wrong.

Mailing List (lkml)

 * The Big List of Linux Kernel mailing lists, and where to find their archives
 * LKML - The Linux Kernel Mailing List (where the big boys hang out)
 * linux-embedded - Embedded Linux Kernel List
 * How to subscribe to these lists

LKML summaries

 * Google search of Ind. Univ. archives of LKML
 * Kernel Traffic - Summaries of LKML traffic through 2005 (now discontinued).
 * Kernel Podcast - Successor to Kernel Traffic, in handy weekly podcast form RSS feed
 * LWN Kernel page - Linux Weekly News kernel coverage

Repository access

 * Kernel Git repositories
 * Vanilla Linux Git Tree - This is "upstream". Get your code into here, please.
 * Note: Linus's Repository only goes back to 2.6.12-rc2, the history before that is not included in his repository.
 * But this one has all the going back to 0.0.1, and updates itself from Linus's tree when you do a "git pull". (This is really cool.  You want this.)

News

 * Linux Weekly News, Kernel page
 * Linux Kernel Podcast - Weekly summaries (RSS feed)

Changelog

 * Comprehensible changelog of the linux kernel
 * http://wiki.kernelnewbies.org/LinuxChanges


 * Announcemnts from linus
 * 2.6.3   http://lwn.net/Articles/71670/
 * 2.6.10   http://lwn.net/Articles/117188/
 * 2.6.12   http://lwn.net/Articles/140441/
 * 2.6.13   http://lwn.net/Articles/149480/
 * 2.6.14   http://lwn.net/Articles/157474/
 * 2.6.15   http://lwn.net/Articles/166131/


 * LWN atricles for spcific releases
 * 2.6.3   http://lwn.net/Articles/71669/
 * 2.6.10   http://lwn.net/Articles/117187/
 * 2.6.12   http://lwn.net/Articles/140165/
 * 2.6.15   http://lwn.net/Articles/166130/


 * LWN aricles on 2.6 API changes
 * 2.6 API changes   http://lwn.net/Articles/2.6-kernel-api/
 * 2.6.12 API changes   http://lwn.net/Articles/140164/

MIPS
- web site = http://www.linux-mips.org/wiki/Main_Page - mailing list = http://www.linux-mips.org/wiki/Net_Resources#Mailing_lists - Maintainer = Ralph Baechle

- there's an alternate site on Source Forge - the site is: http://sourceforge.net/projects/linux-mips - Note that this is used for experimental stuff that hasn't been merged into the official mips tree by Ralph Baechle

ARM
- web site = http://www.arm.linux.org.uk/ - cvs access = http://cvs.arm.linux.org.uk/ - mailing list = http://www.arm.linux.org.uk/armlinux/mailinglists.php - wiki = http://www.linux-arm.org/ - Maintainer = Russell King

PowerPC
- web site = http://penguinppc.org/ - mailing lists = http://penguinppc.org/about/community.php#lists - Git repository = kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc.git - Maintainer = Paul Mackerras - Power Macintosh Maintainer = Benjamin Herrenschmidt

- cross-compiler mini-howto: http://penguinppc.org/embedded/cross-compiling/

See the following for information on different linuxppc source trees available: http://www.penguinppc.org/dev/kernel.shtml

SuperH (SH)
- web site = http://www.linux-sh.org/ - Git repository = kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git - mailing list address = linux-sh@vger.kernel.org - mailing list page = http://vger.kernel.org/vger-lists.html#linux-sh - mailing list archives = http://news.gmane.org/gmane.linux.ports.sh.devel - wiki = http://linux-sh.org/shwiki/FrontPage - Maintainer = Paul Mundt

Online
- Rusty Russell's "Unreliable Guide to Locking" - http://kernelbook.sourceforge.net/kernel-locking.html - Embedded Linux kernel and driver development - http://free-electrons.com/training/drivers - Linux USB drivers - http://free-electrons.com/articles/linux-usb

Books

 * Linux Kernel Development by Robert Love
 * Good introduction to Linux kernel development
 * Linux Device Drivers by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
 * Great book for getting started with Linux device drivers
 * Free online pdf edition: http://lwn.net/images/pdf/LDD3/
 * online html http://www.makelinux.net/ldd3/
 * Essential Linux Device Drivers by Sreekrishnan Venkateswaran
 * Introduction to driver development for major subsystems
 * Professional Linux Kernel Architecture by Wolfgang Mauerer
 * Introduction to the architecture, concepts and algorithms of the Linux kernel
 * Understanding the Linux Kernel by Daniel Bovet and Marco Cesati
 * Guided tour of the code that forms the core of all Linux operating systems
 * Linux Kernel in a Nutshell by Greg Kroah-Hartman
 * Overview of kernel configuration and building
 * Free online edition: http://www.kroah.com/lkn/

Cross-reference / code online

 * http://www.makelinux.net/kernel_map
 * http://www.linux-m32r.org/lxr/http/source/
 * http://lxr.free-electrons.com/
 * http://sosdg.org/~coywolf/lxr/source/
 * http://lxr.linux.no/source/