Perhaps an obvious question, but does the SD card contain a partition? I think I might have accidentally used SD cards in the past without generating a partition.
If you fdisk /dev/mmcblk0 and select 'p', what does the partition table look like? For reference, my SD card contains three partitions and looks like this:
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\'] Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 353 2835441 6 FAT16
/dev/mmcblk0p2 354 484 1052257+ 83 Linux
/dev/mmcblk0p3 485 492 64260 82 Linux swap / Solaris
[/div]
Kexec can pick up a kernel on the second partition; I just have to ensure the boot directory contains the files image.nfo, kernel-cmdline, zImage.