[U-Boot] howto deal with nested $() in bootenv?

Arno Steffen arno.steffen at googlemail.com
Fri Mar 5 08:36:34 CET 2010


Dear Wolfgang,

I read that chapter and changed to
set bootargs_nfs    'setenv bootargs mem=128M console=ttyS2,115200n8
noinitrd rw root=/dev/nfs nfsroot=${serverip}:/opt/rootfs, nolock'
set boot_nfs		'run bootargs_nfs addip; printenv bootargs; tftpboot
0x80000000 uImage;  bootm 0x80000000'
set bootcmd run boot_nfs

The result keeps the same. For some strange reason I can see the
result of printenv command, that I inserted for debug purposes. The
serverip is not replaced.
What is working is executing to type

"run bootargs_nfs addip" as a single command line
"print bootargs" than returns the correct:
bootargs=mem=128M console=ttyS2,115200n8 noinitrd rw root=/dev/nfs nfsroot=192.1
68.90.230:/opt/rootfs, nolock ip=192.168.90.202:192.168.90.230:192.168.90.1:255.
255.255.0::eth0:on

This single line seems to be executed in a different way?!

Best regards
Arno



2010/3/4 Wolfgang Denk <wd at denx.de>:
> Dear Arno Steffen,
>
> In message <804f0d21003040708h672d4814m6e1c4d5f32ea9c47 at mail.gmail.com> you wrote:
>> To set my uboot environment (2008-10) I upload a script to uboot
> ...
>> I case a) the serverip while loading will inserted fix in bootargs_nfs
>> In case b) the serverip will not replaced so that the kernel get a
>> $(serverip) part of command line.
>>
>> How to change this above, so that I can later change serverip without
>> changing anything else?
>
> Please RTFM, thsi specific use case is explaind in detaiul there. See
> especially section "7.4. Boot Arguments Unleashed" at
> http://www.denx.de/wiki/view/DULG/LinuxBootArgs
>
> 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
> I have often regretted my speech, never my silence.
>


More information about the U-Boot mailing list