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]]