[PATCH 13/17] android: boot: support extra command line
Safae Ouajih
souajih at baylibre.com
Sat Nov 26 17:59:27 CET 2022
In version 3 and 4 of boot image header, the vendor specific
command line are located in vendor boot image. Thus, using
extra command line to add those cmd to bootargs.
Signed-off-by: Safae Ouajih <souajih at baylibre.com>
---
boot/image-android.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/boot/image-android.c b/boot/image-android.c
index 78bf708fed9f..291911ea1852 100644
--- a/boot/image-android.c
+++ b/boot/image-android.c
@@ -55,6 +55,7 @@ static void android_vendor_boot_image_v3_v4_parse_hdr(const struct andr_vendor_b
* The header takes a full page, the remaining components are aligned
* on page boundary.
*/
+ data->kcmdline_extra = hdr->cmdline;
data->tags_addr = hdr->tags_addr;
data->image_name = hdr->name;
data->kernel_addr = hdr->kernel_addr;
@@ -231,6 +232,11 @@ int android_image_get_kernel(const struct andr_boot_img_hdr_v0_v1_v2 *hdr,
len += strlen(img_data.kcmdline);
}
+ if (img_data.kcmdline_extra) {
+ printf("Kernel extra command line: %s\n", img_data.kcmdline_extra);
+ len += strlen(img_data.kcmdline_extra);
+ }
+
char *bootargs = env_get("bootargs");
if (bootargs)
len += strlen(bootargs);
@@ -250,6 +256,11 @@ int android_image_get_kernel(const struct andr_boot_img_hdr_v0_v1_v2 *hdr,
if (*img_data.kcmdline)
strcat(newbootargs, img_data.kcmdline);
+ if (img_data.kcmdline_extra) {
+ strcat(newbootargs, " ");
+ strcat(newbootargs, img_data.kcmdline_extra);
+ }
+
env_set("bootargs", newbootargs);
if (os_data) {
--
2.25.1
More information about the U-Boot
mailing list