public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Guillaume La Roque (TI.com)" <glaroque@baylibre.com>
To: u-boot@lists.denx.de
Cc: Simon Glass <sjg@chromium.org>,
	 Mattijs Korpershoek <mkorpershoek@kernel.org>,
	 Tom Rini <trini@konsulko.com>,
	Julien Masson <jmasson@baylibre.com>,
	 "Nicolas Belin (TI.com)" <nbelin@baylibre.com>,
	 Jerome Forissier <jerome.forissier@linaro.org>,
	 george chan <gchan9527@gmail.com>,
	 "Guillaume La Roque (TI.com)" <glaroque@baylibre.com>
Subject: [PATCH] bootstd: android: add the bootargs env to the commandline
Date: Fri, 24 Oct 2025 16:23:22 +0200	[thread overview]
Message-ID: <20251024-botargsappend-v1-1-0b78f05f9132@baylibre.com> (raw)

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


             reply	other threads:[~2025-10-24 14:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-24 14:23 Guillaume La Roque (TI.com) [this message]
2025-10-31 15:18 ` [PATCH] bootstd: android: add the bootargs env to the commandline Mattijs Korpershoek
2025-11-06  9:20 ` Mattijs Korpershoek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251024-botargsappend-v1-1-0b78f05f9132@baylibre.com \
    --to=glaroque@baylibre.com \
    --cc=gchan9527@gmail.com \
    --cc=jerome.forissier@linaro.org \
    --cc=jmasson@baylibre.com \
    --cc=mkorpershoek@kernel.org \
    --cc=nbelin@baylibre.com \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox