[U-Boot] U-boot env variables parsing
Joakim Tjernlund
joakim.tjernlund at transmode.se
Thu Apr 1 14:56:25 CEST 2010
Wolfgang Denk <wd at denx.de> wrote on 2010-04-01 14:47:45:
>
> Dear Joakim Tjernlund,
>
> In message <OFEBF95CA1.44E68372-ONC12576F8.0043F4F7-C12576F8.
> 0044D7F5 at transmode.se> you wrote:
> >
> > linuxip=ip=$(ipaddr)::$(gatewayip):$(netmask):$(hostname):$(linuxif):off
> > tboot=setenv bootargs $(linuxroot) $(linuxip) $(extra);tftp 100000; bootm 100000
> >
> > it was fairly simple to do but I don't think WD applied it since the old
> shell was obsolete
>
> I don't think you ever posted this before. I cannot find any trace of
> such a patch - not in the public archives nor locally.
I think I did, but this would have been late 2001 or 2002 I think :)
Not 100% sure about the date since the old CVS log looks a bit fishy
after the repo got converted to Subversion.
>
> > /* find macros in this token and replace them */
> > - process_macros (token, finaltoken);
> > + if(process_macros (token, finaltoken)){
> > + strcpy(tmptoken,finaltoken);
> > + while(process_macros (tmptoken, finaltoken))
> > + strcpy(tmptoken,finaltoken);
> > + }
>
> Hm... will this not make escaping impossible? Assume you want to pass
>
> arg=${name}
>
> to Linux. How would you escape this so it does NOT get expanded if
> you run process_macros() arbitrarily often?
Possibly, I never needed that though.
One would probably need to add an escape char for that. Something
like arg=\${name}
Jocke
More information about the U-Boot
mailing list