Before you start
Learn what these tutorials can teach you, and what you need to run the examples in them.
The capability of being modified is perhaps one of Linux's greatest strengths, and anyone who has dabbled with the source code has at least stood at the gates of the kingdom, if not opened them up and walked inside.
These two tutorials are intended to get you started. They are for anyone who knows a little bit of programming and who wants to contribute to the development of Linux, who feels that something is missing in the kernel and wants to fix that, or who just wants to find out how a real operating system works.
This tutorial is a sequel to "Hacking the Linux 2.6 kernel, Part 1: Getting ready." Please read Part 1 before diving into Part 2.
We start where Part 1 left off by providing an overview of the kernel source. In this tutorial, we review where the various parts of the kernel are located in the source tree, what order they execute in, and how to go looking for a particular piece of code. We then explain system calls, teach you how to make your own modules, and finally instruct you on how to create, apply, and submit patches.
To run the examples in this tutorial, you need a Linux box, root access on this Linux box (or a sympathetic admin), the ability to reboot this box several times a day, an installed compilation environment, and a way to get the kernel source.
The system prerequisites are covered in detail in Part 1 under "Requirement details." If you're not up on these details, you'll probably want to brush up before going on to the next section of this tutorial.



