To root either the recovery or kernel images, you'll need to unpack the images. There is this perl script which will automate this as well as the repacking process.
HOWTO: Unpack, Edit, and Re-Pack Boot Images - Android Wiki
I haven't managed to unpack either recovery or kernel under windows so you'll probably have to do it under linux or from your phone.
After you've unpacked recovery, you can easily modify rooted recovery v3 from the earlier post to the newer version of recovery. Main point is to modify default.prop to have the following parameters set as follows.
ro.secure=0
ro.debuggable=1
persist.service.adb.enable=1
Then edit init.rc to match v3's (this file is important for setting up the system and recovery settings). After that, just copy the files from the various folders where the unrooted ver is lacking. The picture files have been resaved as png to save space.
You probably won't need to modify recovery since from what I can tell, it doesn't really change much in newer versions as it's only function is to recover the firmware.
You can modify kernel for root though I think most users will probably just use su to get root on their adb. Any how the process to unpack is the same as recovery. After you unpack, modify default.prop similarily to the options above.
In recovery v3, there's a menu option to give root for your normal usage (this is the root that most users would want). Just use that and it's done. If you want to pre-root your images, just get a tool to unpack the system image like unyaffs. Unpack system, drop su into bin and xbin. You could also pre-install busybox into the system image. After you've edited system to your likings, you can remake the image file with a tool called mkbootimg. I have to highlight that I've not edited and repacked a system image yet and I'm not sure how the permissions settings on the files will get affected so you would be better off editing it on a *nix system.
Hopefully someone with experience in the latter part can shed some light on it.
Oh yes, if you want to only flash a certain image file as opposed to the whole flashing process, you can just use fastboot to flash.
To install busybox on a firmware on the phone, there are a few ways. Easiest is to either use the rooted recovery v3 image or a rooted kernel.
If using the recovery, you'll need to boot up in recovery mode and connect your phone to your computer. For rooted kernel, just connect the phone when it's running normally and make sure adb is enabled in settings.
1. Run "adb remount"
2. Next push busybox with "adb push busybox /system/bin/busybox"
3. Create the symlinks with "adb shell /system/bin/busybox --install -s /system/bin" (you can skip this part if you do not foresee using the rest of the commands that busybox provides)
4. Modify cp's symlink to allow file managers to copy files "adb shell rm /system/bin/cp"
"adb shell ln -s /system/bin/busybox /system/bin/cp"
You should be able to use file managers to copy.