Hi Alex,

It's great for this patch set which able to support full android boot flow,
there was no support for parse misc and enter recovery in U-Boot mainline.

    Do you have a public tree or more detail step by step document, I want
to test this patch set on my board.

Thanks,
- Kever
On 04/02/2017 04:49 PM, Alex Deymo wrote:
An "Android Bootloader" has a lot of requirements about how it should
behave which Android partners must implement. In particular, the new
A/B updates [1] added more requirements and flows to the bootloader
which are not common, on top of the existing flows.

For example, a few uncommon requirements include:
* Lookup in the BCB (boot control block) whether a "recovery" message
   is stored. This is used by the recovery environment when applying a
   multi-stage update in the legacy update model (recovery reboots to
   recovery again) and for interrumpted factory-reset (a reboot during
   the factory reset should continue to reboot into factory reset until
   it is done).
* A new "repair" mode. In the A/B model, when none of the slots is
   bootable, the device would boot into repair mode, which is often the
   same as "bootloader" mode (fastboot).
* Recovery as root: In newer version of AOSP, it is possible to mount
   the system image as / without an initramfs, which then frees up the
   initramfs in the "boot" partition to hold the "recovery" initramfs.
   This is the default for new devices and required for the A/B setup.

This patchset updates the Android-related headers and introduces new
commands to boot a recent Android build. This work is based on the
bootloader used in the Raspberry Pi in Android Things and extensively
tested there.

[1] https://source.android.com/devices/tech/ota/ab_updates.html


Alex Deymo (6):
   image: Update include/android_image.h
   image: Implement a function to load Android Images.
   cmd: Add 'load_android' command to load Android images.
   disk: Return the partition number in part_get_info_by_name()
   Initial support for the Android Bootloader flow
   cmd: Add "boot_android" command.

  README                               |  25 ++-
  cmd/Kconfig                          |  19 ++
  cmd/Makefile                         |   2 +
  cmd/boot_android.c                   | 126 +++++++++++++
  cmd/load_android.c                   |  56 ++++++
  common/Kconfig                       |  19 ++
  common/Makefile                      |   1 +
  common/android_bootloader.c          | 350 +++++++++++++++++++++++++++++++++++
  common/fb_mmc.c                      |   6 +-
  common/image-android.c               |  60 ++++++
  disk/part.c                          |   2 +-
  include/android_bootloader.h         |  48 +++++
  include/android_bootloader_message.h | 174 +++++++++++++++++
  include/android_image.h              |  24 ++-
  include/image.h                      |  19 ++
  include/part.h                       |   3 +-
  16 files changed, 920 insertions(+), 14 deletions(-)
  create mode 100644 cmd/boot_android.c
  create mode 100644 cmd/load_android.c
  create mode 100644 common/android_bootloader.c
  create mode 100644 include/android_bootloader.h
  create mode 100644 include/android_bootloader_message.h



_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to