Hi there
> This would all be in the "bootd" .
Oops. I need a refresher course on U-Boot.
The salient environment variable is "bootcmd", which in your case, is composed of 3 commands.
Look up the "cp" command at
http://www.denx.de/wiki/DULG/UBootCommandLineInterfaceand you should be able to understand why each copy command generates an error. (Hint: what's the last (soft-mapped) location of DataFlash?)
Two copy commands in "bootcmd" are a bit unusual. The first copy would be for the kernel image. The second copy might be for the rootfs, but I'm not sure since I've never done it that way. The third command is the actual transfer of execution to the kernel.
> Area 0: D0000000 to D0003FFF (RO)
> Area 1: D0004000 to D0007FFF
> Area 2: D0008000 to D0037FFF (RO)
> Area 3: D0038000 to D020FFFF
You need to learn/validate how these DataFlash areas (aka partitions) are used.
Area 0 is usually allocated for holding the (second stage) bootloader binary image, and is write protected.
Area 1 is usually allocated for holding the environment variables of U-Boot.
Area 2 is usually allocated for holding the U-Boot binary image, and is write protected.
Area 3 is usually allocated for holding a Linux kernel image and filesystem.
If there really is a valid kernel image stored in Area 3 of DataFlash, then the two commands
cp.b 0xd0038000 0x21500000 0x1d8000
iminfo 0x21500000
should produce valid results (and hint what your "bootcmd" should be).
Regards