mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 14:10:43 +00:00
common/image.c: Make boot_get_ramdisk() perform a check for Android images
In 2dd4632
the check for where a ramdisk is found on an Android image
was got moved into the "normal" loop here, causing people to have to
pass the kernel address in the ramdisk address location in order to have
Android boot still. This changed previous behavior so perform a check
early in the function to see if we have an Android image and if so use
that as where to look for the ramdisk (which is what the rest of the
code here expects). We allow for this to still be overridden with an
explicit ramdisk address to be passed as normal.
Cc: Rob Herring <robh@kernel.org>
Reported-by: Paul Kocialkowski <contact@paulk.fr>
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
354973076a
commit
1fec3c5d83
1 changed files with 9 additions and 0 deletions
|
@ -908,6 +908,15 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
|
||||||
*rd_start = 0;
|
*rd_start = 0;
|
||||||
*rd_end = 0;
|
*rd_end = 0;
|
||||||
|
|
||||||
|
#ifdef CONFIG_ANDROID_BOOT_IMAGE
|
||||||
|
/*
|
||||||
|
* Look for an Android boot image.
|
||||||
|
*/
|
||||||
|
buf = map_sysmem(images->os.start, 0);
|
||||||
|
if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
|
||||||
|
select = argv[0];
|
||||||
|
#endif
|
||||||
|
|
||||||
if (argc >= 2)
|
if (argc >= 2)
|
||||||
select = argv[1];
|
select = argv[1];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue