Welcome to The Linux Kernel Janitor Project home page We go through the Linux kernel source code, doing code reviews, fixing up unmaintained code and doing other cleanups and API conversions. It is a good start to kernel hacking. == Local Information == * [http://kernelnewbies.org/KernelJanitors/Todo Current TODO list] * [http://kernelnewbies.org/MigratingInProgress/README Project README file] * [http://kernelnewbies.org/MigratingInProgress/FAQ FAQ] * [http://kernelnewbies.org/MigratingInProgress/scripts Various kernel janitor scripts] * [http://web.archive.org/web/20070717092042/http://janitor.kernelnewbies.org/drivers-dosdonts/index.html Device Drivers DOs and DON'Ts document] - dead link * [http://lists.osdl.org/pipermail/kernel-janitors/ Old kernel-janitors archives] == Contact Information == * # IRC: irc.kernelnewbies.org #kerneljanitor * # EMAIL: kernel-janitors at vger.kernel.org * echo subscribe kernel-janitors | mail majordomo@vger.kernel.org * [https://lists.linux-foundation.org/pipermail/kernel-janitors/ Old kernel-janitors archives] == Tips & Tricks == * git(7) is a version control system created by Linus Torvalds for maintaining Linux. It's also used by many subsystem maintainers. By using it, kernel janitor will get simple way to get latest and greatest Linux source code, simple and fast way to create a patch. * See [http://git.or.cz/ official git website], [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to git], [http://kernel.org/git/ published git trees at kernel.org]. * Use [http://cscope.sourceforge.net/ cscope(1)] or [http://ctags.sourceforge.net/ ctags(1)] to speed up finding functions. * [http://www.selenic.com/ketchup/wiki/ ketchup(1)] is very useful for keeping kernels up to date. * [http://savannah.nongnu.org/projects/quilt/ quilt(1)] really simplifies managing lots of patches. * Diffing full kernel trees will be much faster if you hardlink them in advance and teach your editor to break hardlinks when saving files. vim users can do echo "set backupcopy=auto,breakhardlink" >>~/.vimrc * Typing Signed-off-by lines will get boring really soon, so you may add the following to your .vimrc: * map ^iSigned-off-by: Joe Kernel Hacker ^ * map! Signed-off-by: Joe Kernel Hacker * Trailing or broken whitespace. The trick is to not fix it except when absolutely necessary. The following .vimrc recipe will help you not add more wrong whitespace. * let c_space_errors=1 * highlight WhitespaceEOL ctermbg=red guibg=red * match WhitespaceEOL /\s\+$/ == Offsite Links == * [http://coderock.org/kj/ kernel-janitor patchsets] * [http://bugzilla.kernel.org/ 2.6 kernel bugzilla database] * [http://www.codemonkey.org.uk/projects/git-snapshots/sparse/ Sparse snapshot] * [http://smatch.sourceforge.net/ Smatch project] * [http://web.archive.org/web/20070614015157/metacomp.stanford.edu/ Stanford Checker] - dead link? * [http://www.linuxdevices.com/articles/AT5340618290.html writing portable device drivers] — Linux Journal article by Greg Kroah-Hartman * [http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf How to NOT write a device driver (pdf)] — OLS2002 paper by Arjan van de Ven * [http://developer.osdl.org/rddunlap/doc/scale-3x-kj-v5.pdf Randy's KJ presentation at SCALE 2005 (pdf)] * [http://web.archive.org/web/20070202112928/archive.linuxsymposium.org/ols2003/Proceedings/All-Reprints/Reprint-Melo-OLS2003.pdf ACME's KJ presentation at OLS 2003 (pdf)] * [http://www.xenotime.net/linux/mentor/linux-mentoring.pdf Linux Kernel Development: Getting Started (pdf)] — IEEE Northcon 2005 paper by Randy Dunlap * [http://linuxicc.sf.net/ LinuxICC project] — compiling Linux with Intel C compiler * [http://linuxcpd.sourceforge.net/ LinuxCPD] — copy-paste detection in Linux == Historical Documents == * [http://kernelnewbies.org/MigratingInProgress/acme-todo Acme's original Janitor TODO list] * [http://web.archive.org/web/20070717092042/http://janitor.kernelnewbies.org/janitortalk.log Logfile of irc 'talk' as part of umeet2001]