Skip to content
Snippets Groups Projects
Commit b36b227b authored by Safae Ouajih's avatar Safae Ouajih Committed by Tom Rini
Browse files

android: boot: support extra command line


In version 3 and 4 of boot image header, the vendor specific
command line are located in vendor boot image. Thus, use
extra command line to add those cmd to bootargs.

Signed-off-by: default avatarSafae Ouajih <souajih@baylibre.com>
Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarMattijs Korpershoek <mkorpershoek@baylibre.com>
Tested-by: default avatarMattijs Korpershoek <mkorpershoek@baylibre.com>
parent c79a2e68
No related branches found
No related tags found
No related merge requests found
...@@ -55,6 +55,7 @@ static void android_vendor_boot_image_v3_v4_parse_hdr(const struct andr_vnd_boot ...@@ -55,6 +55,7 @@ static void android_vendor_boot_image_v3_v4_parse_hdr(const struct andr_vnd_boot
* The header takes a full page, the remaining components are aligned * The header takes a full page, the remaining components are aligned
* on page boundary. * on page boundary.
*/ */
data->kcmdline_extra = hdr->cmdline;
data->tags_addr = hdr->tags_addr; data->tags_addr = hdr->tags_addr;
data->image_name = hdr->name; data->image_name = hdr->name;
data->kernel_addr = hdr->kernel_addr; data->kernel_addr = hdr->kernel_addr;
...@@ -233,6 +234,11 @@ int android_image_get_kernel(const struct andr_boot_img_hdr_v0 *hdr, ...@@ -233,6 +234,11 @@ int android_image_get_kernel(const struct andr_boot_img_hdr_v0 *hdr,
len += strlen(img_data.kcmdline); 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"); char *bootargs = env_get("bootargs");
if (bootargs) if (bootargs)
len += strlen(bootargs); len += strlen(bootargs);
...@@ -252,6 +258,11 @@ int android_image_get_kernel(const struct andr_boot_img_hdr_v0 *hdr, ...@@ -252,6 +258,11 @@ int android_image_get_kernel(const struct andr_boot_img_hdr_v0 *hdr,
if (*img_data.kcmdline) if (*img_data.kcmdline)
strcat(newbootargs, 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); env_set("bootargs", newbootargs);
if (os_data) { if (os_data) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment