Well, there's http://www.kernel.org
. Actually there are dozens upon dozens of "Linux kernel hacker's" sites.
In a nutshell...
(1) Set up cvs
and commit a copy of the kernel to it, so that you can easily distinguish your
changes from what comes in from the distro vendor.
(2) The kernel source usually lives in /usr/src/linux
and it is normally rebuilt with the simple sequence: make && make modules && make install.
(3) It may well be that you only need to make modules
because, if your driver is simply a module, you don't need to recompile anything else.
(4) The best approach is to look at
someone else's code that is very close to what you're doing, then adapt it. As a learning exercise, it's fine to reimplement something that, you discover, has already been done.
(5) O'Reilly Publishing does
put out some really good titles about Linux, some of which are available on-line.