First, you need the device and an SD card. Make a folder called "image" on the card. This folder is used for flashing ClockworkMod - download it from here, extract the image.bin into the image folder and then go to the settings of Android and use the SD flash method to install it.
CWM is installed now - fine. Let's move on to getting root access on the device. Copy this zip file onto your SD card.
After that, reboot the device and hold the Power and VOL Down buttons simultaneously. CWM will start up - use the "Install zip file" option to install the zip file and - voila - your device is rooted now.
Now on to the real stuff - to be able to install a new kernel we have to get the image of the stock kernel out of the device first - in order to do so, make a full Backup in CWM - it is copying a file called "boot.img" onto your SD card.
This boot.img contains the actual kernel and the ramdisk. We have to unpack both of them using a script called split_bootimg.pl - it throws out two files: boot.img-kernel.gz and boot.img-ramdisk.cpio.gz. Make a backup of both of them in case anything goes wrong!
If you already compiled the kernel you just have to do the following easy steps:
Take the boot.img-ramdisk.cpio.gz and your own zImage and combine them into a new boot.img which can be flashed using CWM's restore method. You need a tool called mkbootimg for that. Utilize it using the following command:
./mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.cpio.gz --base 0x02600000 -o boot.img
Done. Copy the new boot.img onto your SD and overwrite the old one. Make sure you adjust the MD5 sums so CWM doesn't complain and flash it using the restore method.
I followed these simple instructions to build my own kernel: