Skip to content
Snippets Groups Projects
Commit 93767c5a authored by Mattijs Korpershoek's avatar Mattijs Korpershoek Committed by Heinrich Schuchardt
Browse files

doc: Add a description for bootmeth_android


Add initial documentation for the Android bootmeth.

Signed-off-by: default avatarMattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
parent 8c919fcd
No related branches found
No related tags found
No related merge requests found
...@@ -945,6 +945,7 @@ S: Maintained ...@@ -945,6 +945,7 @@ S: Maintained
T: git https://source.denx.de/u-boot/custodians/u-boot-dfu.git T: git https://source.denx.de/u-boot/custodians/u-boot-dfu.git
F: boot/bootmeth_android.c F: boot/bootmeth_android.c
F: boot/bootmeth_android.h F: boot/bootmeth_android.h
F: doc/develop/bootstd/android.rst
BTRFS BTRFS
M: Marek Behún <kabel@kernel.org> M: Marek Behún <kabel@kernel.org>
......
.. SPDX-License-Identifier: GPL-2.0+:
Android Bootmeth
================
Android provides a mechanism for booting its Operating System from eMMC storage,
described on `source.android.com <https://source.android.com/docs/core/architecture/bootloader>`_.
Android has strong requirements about partitioning layout which are described
`here <https://source.android.com/docs/core/architecture/partitions>`_.
Because multiple partitions are required, this bootmeth only operates on whole mmc
devices which have a valid partition table.
When invoked on a bootdev, this bootmeth searches for the ``misc`` partition in order
to read the *boot mode*, which can be one of following:
Normal
Boot the regular Android Operating System.
Recovery
Boot a slimmed down Recovery Operating System. Can be used
to factory reset the device or to apply system updates.
Bootloader
Stay in U-Boot and wait for fastboot commands from the host.
After the *boot mode* has been determined, this bootmeth will read the *slot suffix*
from the ``misc`` partition. For details about slots, see
`the AOSP documentation <https://source.android.com/docs/core/ota/ab#slots>`_.
When both the *boot mode* and the *slot suffix* are known, the bootflow is created.
When the bootflow is booted, the bootmeth reads the kernel, the boot arguments and
the vendor ramdisk.
It then boots the kernel using bootm. The relevant devicetree blob is extracted
from the ``boot`` partition based on the ``adtb_idx`` environment variable.
The compatible string "u-boot,android" is used for the driver. It is present
if `CONFIG_BOOTMETH_ANDROID` is enabled.
...@@ -10,6 +10,7 @@ Standard Boot ...@@ -10,6 +10,7 @@ Standard Boot
extlinux extlinux
pxelinux pxelinux
qfw qfw
android
cros cros
script script
sandbox sandbox
...@@ -429,7 +429,7 @@ Available bootmeth drivers ...@@ -429,7 +429,7 @@ Available bootmeth drivers
Bootmeth drivers are provided for booting from various media: Bootmeth drivers are provided for booting from various media:
- Android bootflow (boot image v4) - :doc:`Android <android>` bootflow (boot image v4)
- :doc:`ChromiumOS <cros>` ChromiumOS boot from a disk - :doc:`ChromiumOS <cros>` ChromiumOS boot from a disk
- EFI boot using bootefi from disk - EFI boot using bootefi from disk
- EFI boot using boot manager - EFI boot using boot manager
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment