[U-Boot] [RFC PATCH] common: image: minimal android image iminfo support

Simon Glass sjg at chromium.org
Fri Jun 10 18:44:41 CEST 2016


On 10 June 2016 at 08:23, Michael Trimarchi
<michael at amarulasolutions.com> wrote:
>
> Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>

Commit message?

> ---
>  cmd/bootm.c            |  6 ++++++
>  common/image-android.c | 28 ++++++++++++++++++++++++++++
>  include/image.h        |  1 +
>  3 files changed, 35 insertions(+)
>
> diff --git a/cmd/bootm.c b/cmd/bootm.c
> index 1bca6fa..eb4e904 100644
> --- a/cmd/bootm.c
> +++ b/cmd/bootm.c
> @@ -275,6 +275,12 @@ static int image_info(ulong addr)
>                 puts("OK\n");
>                 return 0;
>  #endif
> +#if defined(CONFIG_ANDROID_BOOT_IMAGE)
> +       case IMAGE_FORMAT_ANDROID:
> +               puts("   Android image found\n");
> +               android_print_contents(hdr);
> +               return 0;
> +#endif
>  #if defined(CONFIG_FIT)
>         case IMAGE_FORMAT_FIT:
>                 puts("   FIT image found\n");
> diff --git a/common/image-android.c b/common/image-android.c
> index b6a94b3..6284c4c 100644
> --- a/common/image-android.c
> +++ b/common/image-android.c
> @@ -145,3 +145,31 @@ int android_image_get_ramdisk(const struct andr_img_hdr *hdr,
>         *rd_len = hdr->ramdisk_size;
>         return 0;
>  }
> +
> +#if !defined(CONFIG_SPL_BUILD)
> +/**
> + * android_print_contents - prints out the contents of the Android format image
> + * @hdr: pointer to the Android format image header
> + *
> + * fit_print_contents() formats a multi line Android image contents description.
> + * The routine prints out Android image properties
> + *
> + * returns:
> + *     no returned results
> + */
> +void android_print_contents(const struct andr_img_hdr *hdr)
> +{
> +       const char * const p = IMAGE_INDENT_STRING;
> +
> +       printf("%skernel size:      0x%x\n", p, hdr->kernel_size);
> +       printf("%skernel address:   0x%x\n", p, hdr->kernel_addr);
> +       printf("%sramdisk size:     0x%x\n", p, hdr->ramdisk_size);
> +       printf("%sramdisk addrress: 0x%x\n", p, hdr->ramdisk_addr);
> +       printf("%ssecond size:      0x%x\n", p, hdr->second_size);
> +       printf("%ssecond address:   0x%x\n", p, hdr->second_addr);
> +       printf("%stags address:     0x%x\n", p, hdr->tags_addr);
> +       printf("%spage size:        0x%x\n", p, hdr->page_size);
> +       printf("%sname:             %s\n", p, hdr->name);
> +       printf("%scmdline:          %s\n", p, hdr->cmdline);

U-Boot uses hex by default so I think you can drop the 0x.

> +}
> +#endif
> diff --git a/include/image.h b/include/image.h
> index f9ee564..61b5d3b 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -1151,6 +1151,7 @@ int android_image_get_ramdisk(const struct andr_img_hdr *hdr,
>                               ulong *rd_data, ulong *rd_len);
>  ulong android_image_get_end(const struct andr_img_hdr *hdr);
>  ulong android_image_get_kload(const struct andr_img_hdr *hdr);
> +void android_print_contents(const struct andr_img_hdr *hdr);
>
>  #endif /* CONFIG_ANDROID_BOOT_IMAGE */
>
> --
> 2.8.4
>

Regards,
Simon


More information about the U-Boot mailing list