[PATCH v13 00/24] Modernize U-Boot shell

Francis Laniel francis.laniel at amarulasolutions.com
Tue Jan 16 18:20:06 CET 2024


Hi!


Le vendredi 12 janvier 2024, 00:04:18 +07 Francesco Dolcini a écrit :
> Hello Tom, Francis
> 
> On Fri, Dec 29, 2023 at 07:55:37PM +0100, Francis Laniel wrote:
> > Le jeudi 28 décembre 2023, 21:58:59 CET Tom Rini a écrit :
> > > On Fri, 22 Dec 2023 22:02:20 +0100, Francis Laniel wrote:
> > > > During 2021 summer, Sean Anderson wrote a contribution to add a new
> > > > shell,
> > > > based on LIL, to U-Boot [1, 2].
> > > > While one of the goals of this contribution was to address the fact
> > > > actual
> > > > U-Boot shell, which is based on Busybox hush, is old there was a
> > > > discussion
> > > > about adding a new shell versus updating the actual one [3, 4].
> > > > 
> > > > So, in this series, with Harald Seiler, we updated the actual U-Boot
> > > > shell
> > > > to reflect what is currently in Busybox source code.
> > > > Basically, this contribution is about taking a snapshot of Busybox
> > > > shell/hush.c file (as it exists in commit 37460f5da) and adapt it to
> > > > suit
> > > > U-Boot needs.
> > > > 
> > > > [...]
> > > 
> > > Applied to u-boot/next, thanks!
> > 
> > Thank you for the merge!
> > If there is any problem, do not hesitate to mail me and I will take care
> > of
> > it!
> 
> This change, specifically setting the modern hush shell as default, is
> breaking our boot script, just noticed since the current U-Boot master
> has a regression for us.
> 
> We still need to figure out the exact details, here [1] you can find the
> boot script (that has some placeholder that is replaced during build).
> 
> and the error is something like:
> 
> ```
> ## Executing script at 90280000
> Loading DeviceTree: k3-am625-verdin-nonwifi-dev.dtb
> 69025 bytes read in 11 ms (6 MiB/s)
> 82 bytes read in 9 ms (8.8 KiB/s)
> Working FDT set to 90200000
> syntax error at 'done'HUSH died!
> resetting ...
> ```
> 
> that I _assume_ comes from this line
> 
>     env set set_apply_overlays 'env set apply_overlays "for overlay_file in
> \\${fdt_overlays}; do echo Applying Overlay: \\${overlay_file} &&
> ${load_cmd} \\${loadaddr} \\${overlays_prefix}\\${overlay_file} && fdt
> apply \\${loadaddr}; env set overlay_file; done; true"'

Sorry for the inconvenience, I tried to reproduce on my side and noticed some 
strange behavior.
For the moment, can you please try to only escape "$" with "\$ and not "\\$"?
I would like to confirm some insights I have.

> [1]
> https://git.toradex.com/cgit/meta-toradex-bsp-common.git/tree/recipes-bsp/u
> -boot/u-boot-distro-boot/boot.cmd.in
> 
> Francesco

Best regards.




More information about the U-Boot mailing list