
Dear "David Collier",
In message <memo.20091022093854.2092B@postmaster+dexdyne.com.cix.co.uk> you wrote:
what I'd like to do is put it in a while loop - this is an embedded system and it has nothing better to do than to try again.
but if I set up
bootcmd=while [ .... ]; do ; mmcinit && ext2load mmc 0:1 0x10400000 /boot/uImage && bootm 0x10400000 ; done
no matter what I have put in or around the [..] area, it barfs.
Did you understand why it barfs? The '[' is actually a command name, which usually is a synonym for the 'test' command. U-Boot does not provide such a coimmand, and the hush shell does not provide it as shell builtin either, so this _must_ fail.
I am surprised that you did not find this out yourself - U-Boot should issue a pretty clear error message, something like
Unknown command '[' - try 'help'
Could anyone show me a working example of a hush while loop please? Or tell me what I'm doing wrong :-)
Here is a (tested and working) example:
=> mw 200000 0 => while itest *200000 == 0 ; do > tftp 200000 tqm5200/uImage > echo === done ==== > done Using FEC ETHERNET device TFTP from server 192.168.1.1; our IP address is 192.168.160.4 Filename 'tqm5200/uImage'. Load address: 0x200000 Loading: ################################################################# ############################################################ done Bytes transferred = 1830503 (1bee67 hex) === done ==== =>
Best regards,
Wolfgang Denk