kexec kernel unable to mount root fs

When I use kexec to load a new kernel, the new kernel boots OK, but
fails to load the root fs, even though I set the kernel cmdline the
same as the normal uboot parameters:

root@beagle:/# uname -a
Linux beagle #1 SMP Tue May 10 13:26:31 UTC 2011 armv7l
root@beagle:/# cat /proc/cmdline
console=ttyO2,19200n8 root=/dev/mmcblk0p5 ro
root@beagle:/# kexec --command-line="console=ttyO2,19200n8 root=/dev/
mmcblk0p5 ro" --initrd=/boot/initrd.img- /boot/

This shuts down the running kernel, loads the new one, starts, and
then fails (on the serial line) with:

[ 11.002105] Root-NFS: no NFS server address
[ 11.027770] VFS: Unable to mount root fs via NFS, trying floppy.
[ 11.065551] VFS: Cannot open root device "mmcblk0p5" or unknown-
[ 11.107818] Please append a correct "root=" boot option; here are
the available partitions:
[ 11.159149] 1f00 512 mtdblock0 (driver?)
[ 11.190185] 1f01 1920 mtdblock1 (driver?)
[ 11.221160] 1f02 128 mtdblock2 (driver?)
[ 11.252166] 1f03 4096 mtdblock3 (driver?)
[ 11.283172] 1f04 255488 mtdblock4 (driver?)
[ 11.314208] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(2,0)

Does anyone know what my root= device should be?


Beagleboard: C4
Distribution: Debian squeeze
kexec-tools: 1:2.0.1-4
Tried kernels: (from
  2.6.39 (cross compiled on x86, using mostlythe options)