bootcmd=nand read.e 0x800000 0x100000 0x400000 ; bootm 0x800000
I assume the kernel is being loaded into RAM at 8MB and then the bootm command starts it executing from there. WHY 8MB? The Debian instructions (http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html
) loads it into 4MB and puts an Initrd Image at 8MB. Why the difference. Are these numbers plucked out of thin air, or is there a reason they are like they are?
Yes these commands copy the kernel (4 MB length) from Flash into RAM, starting at the 8 MB address; and then start execution.
0x800000 is the RAM target address
0x100000 is the starting (Flash) address from which to load (standard kernel Flash storage address)
0x400000 is the length of memory to copy
The reasons for the Flash addresses are easy -- cramming everything in as closely as possible. I don't know why the RAM address of 8 MB was used. The page you reference no longer seems to have a 4 MB starting address. Perhaps it has something to do with alignment (
Might keep in mind that use of initrd is often only temporary -- for new installations (mounting in a RAM file system so that a new rootfs can be uncompressed and written).