http://kernelnewbies.org/Linux26Changes http://lwn.net/Articles/2.6-kernel-api/ Quick todo: Finish hotplug History of Hotplug (index/hotplug.html) docs. http://www.kroah.com/linux/talks/ols_2001_hotplug_paper/hotplug.ps Dredge up "make htmldocs" one big patch, split up properly. Resubmit move patches, make bightmldocs. # Split up OLS pdfs, make pdftk work. Index OLS pdfs http://www.linux.org.au/conf/index2.php # Start a mercurial repository. Automation for: make htmldocs Documentation doclifter Manual index. 404 checking? http://lwn.net/Articles/228682/ http://www.mail-archive.com/tinycc-devel%40nongnu.org/msg00651.html http://lwn.net/Articles/228367/ http://lkml.org/lkml/2005/7/23/119 Places documentation hides: Documentation Man pages Linux Weekly News IBM developerworks www.kernel-traffic.org Linux Documentation Project Linux Journal http://www.linuxjournal.com http://linux.yyz.us/git-howto.html http://www.kernel.org/pub/software/scm/git/docs/ http://www.onlamp.com/pub/a/onlamp/2007/04/03/getting-familiar-with-gcc-parameters.html http://www-128.ibm.com/developerworks/library/l-shobj/ http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html http://linux-raid.osdl.org/index.php/Main_Page qemu: http://www.pps.jussieu.fr/~letouzey/emul_debianppc.en.html http://perso.magic.fr/l_indien/qemu-ppc/ http://www.olifantasia.com/qemu/ http://wiki.debian.org/ArmEabiPort Building the kernel Variant on configure; make; make install allyesconfig, allnoconfig, defconfig, menuconfig, oldconfig. Cross compiling. Building out of tree Compiler gcc http://gcc.gnu.org/onlinedocs/ icc http://www.intel.com/cd/software/products/asmo-na/eng/compilers/277618.htm tcc http://fabrice.bellard.free.fr/tcc/tccboot.html Mostly c99, a draft of which is up at: http://web.archive.org/web/20050207010641/http://dev.unicals.com/papers/c99-draft.html HOWTO Write a device driver. Write a filesystem. Once again, lwn.net has stuff on this already. Autodetecting new APIs: scripts. search all incoming patches for functions that are EXPORT_SYMBOL(newfunc); or contain "/**" or contain "Documentation/" or "*.txt" blah blah... Correlate the output of "grep EXPORT" and "nm" with kerneldoc Coverage Power on to C entry point. (x86, other arches?) C through launching init. Where to find the major subsystems scheduler vfs modules block/char device filesystem network Talking to userspace exec a.out, elf, #!, flat, misc syscalls ioctls device nodes synthetic filesystems /proc, /sys, shmfs, usbfs, devpts... A working Linux system Kernel, of course. root filesystem [initramfs, switch_root, pivot_root, /dev/console] init program C library dynamic loader fhs directories /dev Hardware families Linux runs on x86, x86-64 powerpc arm mips sparc sh 68k/coldfire Development CATB http://vger.kernel.org/vger-lists.html http://www.tux.org/lkml/ http://www.kernel.org/faq http://www.kernel.org/kdist/rss.xml git/mercurial Documentation/{CodingStyle,SubmitChecklist} The four layer (developer, maintainer, lieutenant, linus) model. To read: review SOW for more todo items. kernel janitors' website LKML faq Greg KH points out that the following are licensed under a CC license acceptable for republising online:         - Linux Device Drivers, 2nd and 3rd edition         - Linux Kernel in a Nutshell         - all of lwn.net kernel tutorials and articles http://www.linuxforums.org/misc/understanding_elf_using_readelf_and_objdump.html http://www.uwsg.iu.edu/hypermail/linux/kernel/0707.1/2533.html lilo -R/grubonce http://www.redhatmagazine.com/2007/08/21/a-step-by-step-guide-to-building-a-new-selinux-policy-module/ http://www.ibm.com/developerworks/linux/library/l-linux-networking-stack Troubleshooting Linux audio: http://www.linuxjournal.com/node/1000244 http://www.linuxjournal.com/node/1000254 http://www.linuxjournal.com/node/1000262 Linus Torvalds on git, central repositories and commit access lists http://lwn.net/Articles/246381/ gitstat: http://tree.celinuxforum.org/gitstat/ http://catb.org/~esr/faqs/smart-questions.html http://fedoraproject.org/wiki/KernelBugTriage http://tiger.la.asu.edu/Quick_Ref/Linux_Syscall_quickref.pdf http://www.ibm.com/developerworks/linux/library/l-system-calls/?S_TACT=105AGX99&S_CMP=CP man syscalls <- highlight this. http://asm.sourceforge.net/articles/ (and resources) http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf http://docs.cs.up.ac.za/programming/asm/derick_tut/ http://www.win.tue.nl/~aeb/linux/lk/lk.html http://www.sandpile.org/ia32/cpuid.htm http://docs.cs.up.ac.za/programming/linux/advanced-linux-programming.pdf Documentation/kernel-docs.txt http://www.linux-foundation.org/en/Linux_Platform_Weather_Forecast http://elinux.org Arm linux: The ARM/Netwinder structure alignment FAQ: http://netwinder.osuosl.org/users/b/brianbr/public_html/alignment.html http://www.linux-arm.org/pub/LinuxKernel/WebHome/aleph-porting.pdf http://www.aleph1.co.uk/taxonomy/term/32 http://kerneltrap.org/node/3513?page=1 http://udrepper.livejournal.com/18555.html http://lse.sourceforge.net/ What chroot is really for: http://lwn.net/Articles/252794 http://workshop.netfilter.org/2007/ (and previous years) http://www.gentoo.org/doc/en/ http://www.airs.com/blog/archives/38 Major defects in the C++ programming language: http://yosefk.com/c++fqa/defective.html The Linux Kernel Test Project has lots of knowledge about kernel internals.