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

Tom Rini trini at konsulko.com
Thu Jan 18 15:09:56 CET 2024


On Thu, Jan 18, 2024 at 08:05:15AM +0100, Patrice CHOTARD wrote:
> 
> 
> On 1/17/24 18:39, Francesco Dolcini wrote:
> > On Thu, Jan 18, 2024 at 12:30:42AM +0700, Francis Laniel wrote:
> >> Le mercredi 17 janvier 2024, 17:05:28 +07 Patrice CHOTARD a écrit :
> >>> On 1/16/24 18:25, Francis Laniel wrote:
> >>>> Le mardi 16 janvier 2024, 00:34:24 +07 Patrice CHOTARD a écrit :
> >>>>> On 1/11/24 18:04, Francesco Dolcini wrote:
> >>>>>> 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"'>
> >>>>>>
> >>>>>> [1]
> >>>>>> https://git.toradex.com/cgit/meta-toradex-bsp-common.git/tree/recipes-bs
> >>>>>> p
> >>>>>> /u-boot/u-boot-distro-boot/boot.cmd.in
> >>>>>>
> >>>>>> Francesco
> >>>>>
> >>>>> Hi all
> >>>>>
> >>>>> I observed a similar issue with STM32MP157c-DK2 board.
> >>>>> Since commit 78912cfde281 ("cmd: Set modern hush as default shell")
> >>>>> U-Boot
> >>>>> crashes :
> >>>>>
> >>>>>
> >>>>> U-Boot 2024.01-00486-g697758e7c81-dirty (Jan 15 2024 - 18:23:52 +0100)
> >>>>>
> >>>>> CPU: STM32MP157CAC Rev.B
> >>>>> Model: STMicroelectronics STM32MP157C-DK2 Discovery Board
> >>>>> Board: stm32mp1 in trusted mode (st,stm32mp157c-dk2)
> >>>>> Board: MB1272 Var2.0 Rev.C-01
> >>>>> DRAM:  512 MiB
> >>>>> Clocks:
> >>>>> - MPU : 650 MHz
> >>>>> - MCU : 208.878 MHz
> >>>>> - AXI : 266.500 MHz
> >>>>> - PER : 24 MHz
> >>>>> - DDR : 533 MHz
> >>>>> optee optee: OP-TEE: revision 4.0 (e92de4ca)
> >>>>> I/TC: Reserved shared memory is disabled
> >>>>> I/TC: Dynamic shared memory is enabled
> >>>>> I/TC: Normal World virtualization support is disabled
> >>>>> I/TC: Asynchronous notifications are disabled
> >>>>> Core:  311 devices, 40 uclasses, devicetree: board
> >>>>> WDT:   Started watchdog at 5a002000 with servicing every 1000ms (32s
> >>>>> timeout)
> >>>>> NAND:  0 MiB
> >>>>> MMC:   STM32 SD/MMC: 0
> >>>>> Loading Environment from MMC... OK
> >>>>> In:    No input devices available!
> >>>>> Out:   No output devices available!
> >>>>> Err:   No error devices available!
> >>>>> Net:   eth0: ethernet at 5800a000
> >>>>> Hit any key to stop autoboot:  0
> >>>>> Boot over mmc0!
> >>>>> switch to partitions #0, OK
> >>>>> mmc0 is current device
> >>>>> Scanning mmc 0:8...
> >>>>> data abort
> >>>>> pc : [<ddb3f77a>]          lr : [<ddb44c95>]
> >>>>> reloc pc : [<c012777a>]    lr : [<c012cc95>]
> >>>>> sp : dbafc848  ip : ddbfc578     fp : ddbedf18
> >>>>> r10: 00000000  r9 : dbb15e70     r8 : 00000000
> >>>>> r7 : dbb5bf98  r6 : dbb5de10     r5 : dbb5bf98  r4 : ddbeda78
> >>>>> r3 : dbb5dc08  r2 : 000033f8     r1 : 00000071  r0 : ddbede00
> >>>>> Flags: nzcv  IRQs off  FIQs off  Mode SVC_32 (T)
> >>>>> Code: 3138 1c48 f854 0030 (eb04) 05c1
> >>>>> Resetting CPU ...
> >>
> >> I will take a look at the issue, trying to reproduce it and understand the 
> >> root cause.
> >> I cannot give you any ETA for the fix, so for now I can only advise you to 
> >> stick with the old parser.
> > 
> > Should we revert the change that set the modern hush shell as default
> > till this is fixed?
> > 
> > This is preventing us to run our automated test suite against current
> > master. Whatever other issue might be introduced we will not be able to
> > report.
> > 
> > Tom?
> > 
> > Francesco
> > 
> > 
> 
> Hi 
> 
> fully agree with Francesco's proposal.

OK, I'll revert the default change for the moment, hopefully we can get
this fixed soon however.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240118/2497b0d2/attachment.sig>


More information about the U-Boot mailing list