Documentation for Linux itself - the kernel, that is - is available in the /Documentation subdirectory of the kernel source tree, but most of the more technical things are commented in the code itself. Just dig in.
If you want non-kernel functionality then the best place to start looking is the
GNU project. Linux in itself is only a kernel, with the base operating system being the GNU OS, hence why you often see Linux distributions being called GNU/Linux. There are other kernels that run on the GNU OS, like mach kernels (the BSD's, MacOSX, etc) and The Hurd (the
FSF's own kernel project).
Håkan