1. 08 May, 2015 1 commit
    • Maxime Ripard's avatar
      image: android: handle default kernel address · 87f02d5a
      Maxime Ripard authored
      The two tools that create android boot images, mkbootimg and the fastboot
      client, set the kernel address by default to 0x10008000.
      U-boot always honors this field, and will try to relocate the kernel to
      whatever value is set in the header, which won't be mapped to the actual RAM on
      most platforms, resulting in the kernel obviously not booting.
      All the targets in U-Boot right now will download the android boot image to
      CONFIG_SYS_LOAD_ADDR, which means that it will already have been downloaded to
      some location that is suitable for execution.
      In order to have the kernel booting even with the default boot image kernel
      address, if that address is used, just execute the kernel where it is.
      Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
  2. 27 Oct, 2014 1 commit
    • Ahmad Draidi's avatar
      image: Fix Android boot image support · 86f4695b
      Ahmad Draidi authored
      This patch makes the following changes:
      - Set kernel entry point correctly
      - Append bootargs from image to global bootargs instead
              of replacing them
      - Return end address instead of size from android_image_get_end()
      - Give correct parameter to genimg_get_format() in boot_get_ramdisk()
      - Move ramdisk message printing from android_image_get_kernel() to
      Signed-off-by: default avatarAhmad Draidi <ar2000jp@gmail.com>
      Cc: Tom Rini <trini@ti.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
  3. 08 May, 2014 1 commit
    • Sebastian Siewior's avatar
      image: add support for Android's boot image format · 9ace3fc8
      Sebastian Siewior authored
      This patch adds support for the Android boot-image format. The header
      file is from the Android project and got slightly alterted so the struct +
      its defines are not generic but have something like a namespace. The
      header file is from bootloader/legacy/include/boot/bootimg.h. The header
      parsing has been written from scratch and I looked at
      bootloader/legacy/usbloader/usbloader.c for some details.
      The image contains the physical address (load address) of the kernel and
      ramdisk. This address is considered only for the kernel image.
      The "second image" defined in the image header is currently not
      supported. I haven't found anything that is creating this.
      v3 (Rob Herring):
      This is based on http://patchwork.ozlabs.org/patch/126797/ with the
      following changes:
      - Rebased to current mainline
      - Moved android image handling to separate functions in
      - s/u8/char/ in header to fix string function warnings
      - Use SPDX identifiers for licenses
      - Cleaned-up file source information:
        android_image.h is from file include/boot/bootimg.h in repository:
        The git commit hash is 4205b865141ff2e255fe1d3bd16de18e217ef06a
        usbloader.c would be from the same commit, but it does not appear
        to have been used for any actual code.
      - s/andriod/android/
      - Use a separate flag ep_found to track if the entry point has been set
      rather than using a magic value.
      Cc: Wolfgang Denk <wd@denx.de>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Reviewed-by: default avatarTom Rini <trini@ti.com>
      Reviewed-by: default avatarLukasz Majewski <l.majewski@samsung.com>