Hi Guillaume,

Thank you for the patch.

On Fri, Oct 24, 2025 at 16:23, "Guillaume La Roque (TI.com)" 
<[email protected]> wrote:

> From: "Nicolas Belin (TI.com)" <[email protected]>
>
> When previously using script based bootflows, the U-Boot
> environment variable bootargs was used to customize the kernel
> commandline at boot time.
> In order to get the same behaviour, concatenate the bootflow
> commandline with the contents the bootargs environment variable.
>
> Signed-off-by: Nicolas Belin (TI.com) <[email protected]>
> Signed-off-by: Guillaume La Roque (TI.com) <[email protected]>

Reviewed-by: Mattijs Korpershoek <[email protected]>

> ---
>  boot/bootmeth_android.c | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/boot/bootmeth_android.c b/boot/bootmeth_android.c
> index 8c2bde10e17..1374551dbeb 100644
> --- a/boot/bootmeth_android.c
> +++ b/boot/bootmeth_android.c
> @@ -512,6 +512,37 @@ static int run_avb_verification(struct bootflow *bflow)
>  }
>  #endif /* AVB_VERIFY */
>  
> +static int append_bootargs_to_cmdline(struct bootflow *bflow)
> +{
> +     char *bootargs;
> +     int len = 0;
> +
> +     /*
> +      * Check any additionnal bootargs coming from U-Boot env. If any,
> +      * merge them with the current cmdline
> +      */
> +     bootargs = env_get("bootargs");
> +     if (bootargs) {
> +             len += strlen(bootargs) + 1; /* Extra space character needed */
> +             len += strlen(bflow->cmdline);
> +
> +             char *newcmdline = malloc(len + 1); /* +1 for the '\0' */
> +
> +             if (!newcmdline)
> +                     return log_msg_ret("newcmdline malloc", -ENOMEM);
> +
> +             strcpy(newcmdline, bootargs);
> +             strcat(newcmdline, " ");
> +             strcat(newcmdline, bflow->cmdline);
> +
> +             /* Free the previous cmdline and replace it */
> +             free(bflow->cmdline);
> +             bflow->cmdline = newcmdline;
> +     }
> +
> +     return 0;
> +}
> +
>  static int boot_android_normal(struct bootflow *bflow)
>  {
>       struct blk_desc *desc = dev_get_uclass_plat(bflow->blk);
> @@ -546,6 +577,10 @@ static int boot_android_normal(struct bootflow *bflow)
>       if (priv->slot)
>               free(priv->slot);
>  
> +     ret = append_bootargs_to_cmdline(bflow);
> +     if (ret < 0)
> +             return log_msg_ret("bootargs append", ret);
> +
>       ret = bootm_boot_start(loadaddr, bflow->cmdline);
>  
>       return log_msg_ret("boot", ret);
>
> ---
> base-commit: b10c055d4e1b5153a331a61ef82a5b01b5bb4c45
> change-id: 20251024-botargsappend-38a4371cb6dc
>
> Best regards,
> -- 
> Guillaume La Roque (TI.com) <[email protected]>

Reply via email to