Here's a pic of my phone running a kernel that I compiled:

So, basically now we have all the tools we need to compile our own kernels. I didn't really try modifying the source this time around, but the compiled binary was definitely much different than the stock zImage, and my phone accepted the reflash and still runs.
1) Get all the following requirements:
Kernel source from Samsung SPH-M900_OpenSource.zip
Recovery image SPH-M900_CJ05_REL.tar
Odin reflashing tool
Samsung PC studio
Samsung windows USB drivers
A toolchain for cross compiling to arm (I used
ELDK)
list_initramfs_gen.c and Image.cpio from
this post retar-moment.c from
this post2) Set up your cross-compiling toolchain.
3) Extract files from Image.cpio and generate your initramfs.list file.
Explanation and tool download here. The generated list file should be 85 lines long. If you want to add any additional files you can edit the list at this point. You could also edit any of the existing files extracted from Image.cpio
4) Extract your kernel source and edit linux-2.6.27/.config, pointing CONFIG_INITRAMFS_SOURCE to your new list file.
5) Create linux-2.6.27/.cross_compile file containing the path prefix to all your arm toolchain binaries. Example:
$ cat .cross_compile
/home/peeps/android/eldk/usr/bin/armVFP-
6) run make from your kernel source directory and if successful, you will have a new zImage in /arch/arm/boot
7) Verify that retar-moment.c works. This program has not been extensively tested on a variety of platforms, so it's best to be sure that it works on yours before continuing. Untar the recovery image, compile retar-moment.c, and run it on the unmodified recovery files. If the md5sum of the output file matches the stock recovery tar file, then you are good to go.
8 ) Create your custom .tar: replace the tar extracted zImage with your freshly compiled one, and run retar-moment again.
9) Load up Odin (make sure you have pc studio and USB debug drivers installed first), select Moment.ops and your new tar file. Check one "one package" checkbox.
10) Set your phone into recovery mode: hold volume down, camera, and red End/Power key at same time, and quickly connect the USB cable. It should show up in Odin, and you can click start. Wait for the download to finish and there you are!
Oh, and replacing the logo.png also works

:
