* [U-Boot] [PATCH] image: fix Android ramdisk support when dtb is specified
@ 2015-07-17 15:57 Rob Herring
2015-08-13 13:18 ` [U-Boot] " Tom Rini
2015-08-27 18:22 ` [U-Boot] [PATCH] " Paul Kocialkowski
0 siblings, 2 replies; 4+ messages in thread
From: Rob Herring @ 2015-07-17 15:57 UTC (permalink / raw)
To: u-boot
If a dtb is specified on the command-line, the Android boot image ramdisk
will not be found. Fix this so that we can specify the ramdisk address and
dtb address. The syntax is to enter the Android boot image address for
both the kernel and ramdisk.
Signed-off-by: Rob Herring <robh@kernel.org>
---
common/image.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/common/image.c b/common/image.c
index f0f0135..73fc288 100644
--- a/common/image.c
+++ b/common/image.c
@@ -896,6 +896,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
if (argc >= 2)
select = argv[1];
+
/*
* Look for a '-' which indicates to ignore the
* ramdisk argument
@@ -995,6 +996,12 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
images->fit_noffset_rd = rd_noffset;
break;
#endif
+#ifdef CONFIG_ANDROID_BOOT_IMAGE
+ case IMAGE_FORMAT_ANDROID:
+ android_image_get_ramdisk((void *)images->os.start,
+ &rd_data, &rd_len);
+ break;
+#endif
default:
#ifdef CONFIG_SUPPORT_RAW_INITRD
end = NULL;
@@ -1025,16 +1032,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
(ulong)images->legacy_hdr_os);
image_multi_getimg(images->legacy_hdr_os, 1, &rd_data, &rd_len);
- }
-#ifdef CONFIG_ANDROID_BOOT_IMAGE
- else if ((genimg_get_format((void *)images->os.start)
- == IMAGE_FORMAT_ANDROID) &&
- (!android_image_get_ramdisk((void *)images->os.start,
- &rd_data, &rd_len))) {
- /* empty */
- }
-#endif
- else {
+ } else {
/*
* no initrd image
*/
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] image: fix Android ramdisk support when dtb is specified
2015-07-17 15:57 [U-Boot] [PATCH] image: fix Android ramdisk support when dtb is specified Rob Herring
@ 2015-08-13 13:18 ` Tom Rini
2015-08-27 18:22 ` [U-Boot] [PATCH] " Paul Kocialkowski
1 sibling, 0 replies; 4+ messages in thread
From: Tom Rini @ 2015-08-13 13:18 UTC (permalink / raw)
To: u-boot
On Fri, Jul 17, 2015 at 10:57:17AM -0500, Rob Herring wrote:
> If a dtb is specified on the command-line, the Android boot image ramdisk
> will not be found. Fix this so that we can specify the ramdisk address and
> dtb address. The syntax is to enter the Android boot image address for
> both the kernel and ramdisk.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/4acb4969/attachment.sig>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] image: fix Android ramdisk support when dtb is specified
2015-07-17 15:57 [U-Boot] [PATCH] image: fix Android ramdisk support when dtb is specified Rob Herring
2015-08-13 13:18 ` [U-Boot] " Tom Rini
@ 2015-08-27 18:22 ` Paul Kocialkowski
2015-08-27 19:43 ` Tom Rini
1 sibling, 1 reply; 4+ messages in thread
From: Paul Kocialkowski @ 2015-08-27 18:22 UTC (permalink / raw)
To: u-boot
Le vendredi 17 juillet 2015 ? 10:57 -0500, Rob Herring a ?crit :
> If a dtb is specified on the command-line, the Android boot image ramdisk
> will not be found. Fix this so that we can specify the ramdisk address and
> dtb address. The syntax is to enter the Android boot image address for
> both the kernel and ramdisk.
This commit breaks booting non-fdt Android images (the kernel doesn't
find the initramfs, and neither does U-Boot).
The test to enter the code block where Android ramdisk support was moved
is accessed with:
else if (select || genimg_has_config(images)) {
However, in a non-fdt context, select is NULL and genimg_has_config
returns 0.
I suggest we either duplicate Android ramdisk support in the non-fdt
path or adapt the condition to enter the code block where it was moved.
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> common/image.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/common/image.c b/common/image.c
> index f0f0135..73fc288 100644
> --- a/common/image.c
> +++ b/common/image.c
> @@ -896,6 +896,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
>
> if (argc >= 2)
> select = argv[1];
> +
> /*
> * Look for a '-' which indicates to ignore the
> * ramdisk argument
> @@ -995,6 +996,12 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
> images->fit_noffset_rd = rd_noffset;
> break;
> #endif
> +#ifdef CONFIG_ANDROID_BOOT_IMAGE
> + case IMAGE_FORMAT_ANDROID:
> + android_image_get_ramdisk((void *)images->os.start,
> + &rd_data, &rd_len);
> + break;
> +#endif
> default:
> #ifdef CONFIG_SUPPORT_RAW_INITRD
> end = NULL;
> @@ -1025,16 +1032,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
> (ulong)images->legacy_hdr_os);
>
> image_multi_getimg(images->legacy_hdr_os, 1, &rd_data, &rd_len);
> - }
> -#ifdef CONFIG_ANDROID_BOOT_IMAGE
> - else if ((genimg_get_format((void *)images->os.start)
> - == IMAGE_FORMAT_ANDROID) &&
> - (!android_image_get_ramdisk((void *)images->os.start,
> - &rd_data, &rd_len))) {
> - /* empty */
> - }
> -#endif
> - else {
> + } else {
> /*
> * no initrd image
> */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150827/6d61fad6/attachment.sig>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH] image: fix Android ramdisk support when dtb is specified
2015-08-27 18:22 ` [U-Boot] [PATCH] " Paul Kocialkowski
@ 2015-08-27 19:43 ` Tom Rini
0 siblings, 0 replies; 4+ messages in thread
From: Tom Rini @ 2015-08-27 19:43 UTC (permalink / raw)
To: u-boot
On Thu, Aug 27, 2015 at 08:22:36PM +0200, Paul Kocialkowski wrote:
> Le vendredi 17 juillet 2015 ? 10:57 -0500, Rob Herring a ?crit :
> > If a dtb is specified on the command-line, the Android boot image ramdisk
> > will not be found. Fix this so that we can specify the ramdisk address and
> > dtb address. The syntax is to enter the Android boot image address for
> > both the kernel and ramdisk.
>
> This commit breaks booting non-fdt Android images (the kernel doesn't
> find the initramfs, and neither does U-Boot).
>
> The test to enter the code block where Android ramdisk support was moved
> is accessed with:
> else if (select || genimg_has_config(images)) {
>
> However, in a non-fdt context, select is NULL and genimg_has_config
> returns 0.
>
> I suggest we either duplicate Android ramdisk support in the non-fdt
> path or adapt the condition to enter the code block where it was moved.
I've taken a third path, make the code check for Android images and then
"know" what the address we want to check should be. Let me know if that
patch fixes your problem, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150827/aacd6b16/attachment.sig>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-08-27 19:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-17 15:57 [U-Boot] [PATCH] image: fix Android ramdisk support when dtb is specified Rob Herring
2015-08-13 13:18 ` [U-Boot] " Tom Rini
2015-08-27 18:22 ` [U-Boot] [PATCH] " Paul Kocialkowski
2015-08-27 19:43 ` Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox