[U-Boot] hush while confusion

David Collier from_denx_uboot at dexdyne.com
Thu Oct 22 15:22:00 CEST 2009


OK I have changed it to

while 1==1 ; do ; mmcinit && ext2load mmc 0:1 0x10400000  /boot/uImage &&
bootm 0x10400000 ; done

and if I do run bootcmd it simply says "unknown command 1==1"

so I'm still lost....

I know I have hush installed, cosz if I do your multi-line-version I get
the prompt.

------------------------------------------------------------

All I saw about hush was "bourne-compatible", and "provides
while...do..done" scripting.

I failed to find a proper manual... probably for lack of effort, but I've
just googled again and nothing springs up..

Could you possibly point me at any hush documentation ?

Many thanks

David 


In article <20091022113139.DB6961A00B at gemini.denx.de>, wd at denx.de
(Wolfgang Denk) wrote:

> *From:* Wolfgang Denk <wd at denx.de>
> *To:* from_denx_uboot at dexdyne.com
> *CC:* u-boot at lists.denx.de
> *Date:* Thu, 22 Oct 2009 13:31:39 +0200
> 
> Dear "David Collier",
> 
> In message 
> <memo.20091022093854.2092B at 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
> 
> -- 
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev 
> Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, 
> Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: 
> wd at denx.de
> "Where shall I begin, please your Majesty?" he asked. "Begin  at  
> the
> beginning,"  the  King said, gravely, "and go on till you come to 
> the
> end: then stop."    - Alice's Adventures in Wonderland, Lewis 
> Carroll
> 


Collier

www.dexdyne.com


More information about the U-Boot mailing list