[PATCH] bootstd: android: add the bootargs env to the commandline

Mattijs Korpershoek mkorpershoek at kernel.org
Fri Oct 31 16:18:11 CET 2025


Hi Guillaume,

Thank you for the patch.

On Fri, Oct 24, 2025 at 16:23, "Guillaume La Roque (TI.com)" <glaroque at baylibre.com> wrote:

> From: "Nicolas Belin (TI.com)" <nbelin at baylibre.com>
>
> 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) <nbelin at baylibre.com>
> Signed-off-by: Guillaume La Roque (TI.com) <glaroque at baylibre.com>

Reviewed-by: Mattijs Korpershoek <mkorpershoek at kernel.org>

> ---
>  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) <glaroque at baylibre.com>


More information about the U-Boot mailing list