Everybody that starts on the wonderful world of kernel hacking can notice one thing right on the first day: there is documentation everywhere, about almost anything. We all know how to use Google, but wouldn't it be so much cool if we could have all the documentation in a single place, rated by relevance and commented by people that are actually already working on the kernel ? You can use this page to browse for documentation on specific areas of the kernel, separated by version (generally 2.4 or 2.6). When updating this page, have in mind that documentation gets obsolete really fast, so try as hard as possible to keep accurate publishing dates for each linked document, so we can keep track of which ones are obsolete and which ones aren't (yet). Try to keep the latest documents on the top =) Have fun! == Kernel 2.6 == === Portability & Code Quality === ||||Date||Author||Title||Description||URL|| ||||2004-03-18||Tariq Shureih ||HOWTO: Linux Device Driver Dos and Dont's -- A guide to writing Robust Linux Device Drivers||A little guide on what you should do and what you should not do when writing device drivers||http://janitor.kernelnewbies.org/docs/driver-howto.html|| ||||2001-05-20||Greg Kroah-Hartman ||Writing Portable Device Drivers||Talks about details that should be observed when writing portabe device drivers (device drivers that are supposed to run in any architecture)||http://www.linuxjournal.com/article/5783|| === Filesystems === ||||Date||Author||Title||Description||URL|| ||||2005-??-??||Patrick Mochel ||The sysfs Filesystem||Details how the sysfs works, its objective and how to manipulate it (create directories, symlinks and files)||http://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf|| === General Hardware === ||||Date||Author||Title||Description||URL|| ||||2002-11-23||Craig Peacock ||USB In a Nutshell - Making Sense of the USB Standard||Explains internal details of the hardware involved in USB interfaces, very useful when understanding the USB subsystem and how general USB devices work||http://www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf|| ||||2000-12-21||USB-IF||USB 2.0 Specification||The official documentation about the USB standard||http://www.usb.org/developers/docs/|| === Community Relationship === ||||Date||Author||Title||Description||URL|| ||||2006-05-30||OSDL Open Source Development Labs http://www.osdl.org/||Open Source Device Drivers - Documentation Wiki||OSDL's Wiki with lots of useful information about writing device drivers||http://developer.osdl.org/dev/opendrivers/wiki/index.php/Documentation|| ||||2005-05-31||Greg Kroah-Hartman ||How to piss off a kernel subsystem maintainer||A brief description with some links about how to piss of a kernel subsystem maintainer. Listen to the man, he's serious! Better known as "how to get your patches applied on /dev/null"||http://www.kroah.com/log/2005/03/31/#maintainer / http://www.kroah.com/log/2005/07/08/#maintainer-02 / http://www.kroah.com/log/2005/10/19/#maintainer-03 / http://www.kroah.com/log/2006/01/11/#maintainer-04||