[PATCH v2] bootstd: android: Add U-Boot version to cmdline
Mattijs Korpershoek
mkorpershoek at baylibre.com
Thu Sep 12 16:00:01 CEST 2024
When booting into Android fastbootd (a subset of recovery), the default
UI shows the bootloader version in the screen [1].
This is done via the ro.bootloader property which should come from the
bootloader.
Provide the U-Boot version via a kernel commandline argument so that
fastbootd can show it properly on the screen.
[1] https://android.googlesource.com/platform/bootable/recovery/+/refs/heads/main/fastboot/fastboot.cpp#42
Reviewed-by: Julien Masson <jmasson at baylibre.com>
Reviewed-by: Guillaume La Roque <glaroque at baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>
---
Changes in v2:
- Clarify by a comment that we intentionally ignore return (Simon)
- Link to v1: https://lore.kernel.org/r/20240904-bootmeth-bootloader-version-v1-1-9979a8428566@baylibre.com
---
boot/bootmeth_android.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/boot/bootmeth_android.c b/boot/bootmeth_android.c
index 6e8d3e615db0..19b1f2c377b9 100644
--- a/boot/bootmeth_android.c
+++ b/boot/bootmeth_android.c
@@ -22,6 +22,7 @@
#include <malloc.h>
#include <mapmem.h>
#include <part.h>
+#include <version.h>
#include "bootmeth_android.h"
#define BCB_FIELD_COMMAND_SZ 32
@@ -171,6 +172,12 @@ static int configure_serialno(struct bootflow *bflow)
return bootflow_cmdline_set_arg(bflow, "androidboot.serialno", serialno, false);
}
+static int configure_bootloader_version(struct bootflow *bflow)
+{
+ return bootflow_cmdline_set_arg(bflow, "androidboot.bootloader",
+ PLAIN_VERSION, false);
+}
+
static int android_read_bootflow(struct udevice *dev, struct bootflow *bflow)
{
struct blk_desc *desc = dev_get_uclass_plat(bflow->blk);
@@ -264,8 +271,12 @@ static int android_read_bootflow(struct udevice *dev, struct bootflow *bflow)
goto free_priv;
}
- /* Ignoring return code: setting serial number is not mandatory for booting */
+ /*
+ * Ignoring return code for the following configurations:
+ * these are not mandatory for booting.
+ */
configure_serialno(bflow);
+ configure_bootloader_version(bflow);
if (priv->boot_mode == ANDROID_BOOT_MODE_NORMAL) {
ret = bootflow_cmdline_set_arg(bflow, "androidboot.force_normal_boot",
---
base-commit: 360aaddd9cea8c256f50c576794415cadfb61819
change-id: 20240904-bootmeth-bootloader-version-2a2b35fce4cf
Best regards,
--
Mattijs Korpershoek <mkorpershoek at baylibre.com>
More information about the U-Boot
mailing list