The layout proposed by Suman Adak is below.
Please create a new subpage (eg /Introduction) for each section, since this document could end up really large...
If something is already documented elsewhere on this site, please link to that other document instead of trying to duplicate it here. Hyperlinks exist for a reason.
Introduction to Linux Kernel( A short Description with various good link about linux kernel)
What is the Kernel?
What I Can do with the Linux Kernel( Some impressive word).
Which Programming language?
Kernel Books
*add more
Getting Source Code
Why should i get source code?
How to get Source Code?
Where i should look to get latest kernel?
*Add more
/System requirements for Kernel Hacking.
GCC,GDB,KGDB patch.
Making room for source code.
Preparing to test the new kernel( Virtual Machine, UML, Serial port configuration).
add more
/Compiling and Installing the kernel.
Why to recompile the kernel
How to make the new kernel version
Understanding the kernel versioning system
Configure the kernel to be compiled
Compile procedure for 2.4 and 2.6 kernel
Install the kernel image into your hard disk
Boot Loader Configuration( Grub and LILO)
Applying kernel patches
Boot the New kernel
Add more
/Overview of the Linux kernel source code tree.
Small description about each directory.
add more
Changes between 2.4 kernel to 2.6 kernel( New features).
Add more
Debugging Kernel
What should I have to fix a bug?
Function printk().
Error oops.
Additional compiling options.
Causing errors and printing extra informations.
Magic SysRq Key.
How to use debuggers?
When everything fail.
Add more
/Kernel Programming Style Guidelines
In-code Comments
Add more
/Subsystems
Process Creating, Management and Destroing
Process Scheduling
Inter Process Communication
Memory Addressing
Memory Management
Reclaiming Pages
Process Address Space
Exceptions and Interrupts Handling
Deferring Work: Tasklets and SoftIRQ
Synchronization
Time Management
System Calls
Virtual File System
Accessing Directories and Files
Block I/O Layer
Page Cache
Security Subsystem and SELinux
TCP/IP Stack and Netfilter
Device Drivers, Kobjects and Sysfs
Module Management: Insert Code at Run-Time
Add More
API (Kernel Internal Use)
Linked Lists
Radix Trees
Red-Black Trees
Hash Tables
Device Drivers
Character Drivers
Block Drives
Network Drivers
USB
Add More
How to contribute to kernel community?
How to get help?
How can i help?