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
Device Drivers DOs and DON'Ts document - dead link
Contact Information
- # IRC: irc.kernelnewbies.org #kerneljanitor
- # EMAIL: kernel-janitors at vger.kernel.org
echo subscribe kernel-janitors | mail majordomo@vger.kernel.org
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 official git website, Kernel Hackers' Guide to git, published git trees at kernel.org.
ketchup(1) is very useful for keeping kernels up to date.
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 <F1> iSigned-off-by: Joe Kernel Hacker <jkh@example.com><CR><ESC>
map! <F1> Signed-off-by: Joe Kernel Hacker <jkh@example.com><CR>
- 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
Stanford Checker - dead link?
writing portable device drivers — Linux Journal article by Greg Kroah-Hartman
How to NOT write a device driver (pdf) — OLS2002 paper by Arjan van de Ven
Linux Kernel Development: Getting Started (pdf) — IEEE Northcon 2005 paper by Randy Dunlap
LinuxICC project — compiling Linux with Intel C compiler
LinuxCPD — copy-paste detection in Linux