On Fri Sep 11, 2026 at 5:14 PM CEST, Wenwen Fu via lists.openembedded.org wrote:
> Use shell parameter expansion rather than external cut and sed commands
> while parsing kernel command-line parameters in the initramfs.
>
> On the target initramfs, 100 command-line parser runs took 13.48 s
> before this change and 0.51 s afterwards. This reduces the per-run
> cost from 134.8 ms to 5.1 ms.
>
> Signed-off-by: Wenwen Fu <[email protected]>
> ---
> meta/recipes-core/initrdscripts/initramfs-framework/init | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init
> b/meta/recipes-core/initrdscripts/initramfs-framework/init
> index 67590ad765..62d8ccfd0c 100755
> --- a/meta/recipes-core/initrdscripts/initramfs-framework/init
> +++ b/meta/recipes-core/initrdscripts/initramfs-framework/init
> @@ -104,13 +104,14 @@ for p in `cat /proc/cmdline`; do
> continue
> fi
>
> - opt=`echo $p | cut -d'=' -f1`
> - opt=`echo $opt | sed -e 'y/.-/__/'`
> - if [ "`echo $p | cut -d'=' -f1`" = "$p" ]; then
> + key=${p%%=*}
> + opt=${key//./_}
Hello,
Isn't this only available in busybox if and only if it was compiled
with CONFIG_ASH_BASH_COMPAT? Can you check if that works with more
minimal busybox?
> + opt=${opt//-/_}
> + if [ "$key" = "$p" ]; then
> # opt parameter
> eval "bootparam_${opt}=true"
> else
> - value="`echo $p | cut -d'=' -f2-`" # Option value
> + value=${p#*=} # Option value
> value_lstripped=${value#\"}
> value_rstripped=${value%\"}
>
Regards,
--
Yoann Congal
Smile ECS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#245664):
https://lists.openembedded.org/g/openembedded-core/message/245664
Mute This Topic: https://lists.openembedded.org/mt/121200898/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-