Merge branch 'cherry-53a0ddb6d3b' into 'master'
[pickman] Merge tag 'u-boot-dfu-20241219' of https://source.denx.de/u-boot/custodians/u-boot-dfu See merge request u-boot/u-boot!257
This commit is contained in:
@@ -332,41 +332,45 @@ int android_image_get_kernel(const void *hdr,
|
||||
kernel_addr, DIV_ROUND_UP(img_data.kernel_size, 1024));
|
||||
|
||||
int len = 0;
|
||||
if (*img_data.kcmdline) {
|
||||
printf("Kernel command line: %s\n", 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");
|
||||
|
||||
if (bootargs)
|
||||
len += strlen(bootargs);
|
||||
|
||||
char *newbootargs = malloc(len + 2);
|
||||
if (*img_data.kcmdline) {
|
||||
printf("Kernel command line: %s\n", img_data.kcmdline);
|
||||
len += strlen(img_data.kcmdline) + (len ? 1 : 0); /* +1 for extra space */
|
||||
}
|
||||
|
||||
if (*img_data.kcmdline_extra) {
|
||||
printf("Kernel extra command line: %s\n", img_data.kcmdline_extra);
|
||||
len += strlen(img_data.kcmdline_extra) + (len ? 1 : 0); /* +1 for extra space */
|
||||
}
|
||||
|
||||
char *newbootargs = malloc(len + 1); /* +1 for the '\0' */
|
||||
if (!newbootargs) {
|
||||
puts("Error: malloc in android_image_get_kernel failed!\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
*newbootargs = '\0';
|
||||
*newbootargs = '\0'; /* set to Null in case no components below are present */
|
||||
|
||||
if (bootargs) {
|
||||
if (bootargs)
|
||||
strcpy(newbootargs, bootargs);
|
||||
strcat(newbootargs, " ");
|
||||
|
||||
if (*img_data.kcmdline) {
|
||||
if (*newbootargs) /* If there is something in newbootargs, a space is needed */
|
||||
strcat(newbootargs, " ");
|
||||
strcat(newbootargs, img_data.kcmdline);
|
||||
}
|
||||
|
||||
if (*img_data.kcmdline)
|
||||
strcat(newbootargs, img_data.kcmdline);
|
||||
|
||||
if (img_data.kcmdline_extra) {
|
||||
strcat(newbootargs, " ");
|
||||
if (*img_data.kcmdline_extra) {
|
||||
if (*newbootargs) /* If there is something in newbootargs, a space is needed */
|
||||
strcat(newbootargs, " ");
|
||||
strcat(newbootargs, img_data.kcmdline_extra);
|
||||
}
|
||||
|
||||
env_set("bootargs", newbootargs);
|
||||
free(newbootargs);
|
||||
|
||||
if (os_data) {
|
||||
if (image_get_magic(ihdr) == IH_MAGIC) {
|
||||
|
||||
Reference in New Issue
Block a user