1
0
mirror of https://xff.cz/git/u-boot/ synced 2026-01-28 05:09:22 +01:00
Files
u-boot-megous/include
Ruslan Trofymenko edd31084f2 env: am57xx: Implement A/B boot process
Add support for A/B boot process on AM57xx based boards:

  1. Define 'slot_suffix' variable (using 'ab_select' command)
  2. Extend 'emmc_android_boot' boot command (add commands for A/B boot
     process)

'ab_select' command is used to decide which slot should be used for
booting up. A/B metadata resides in 'misc' partition.

To activate the A/B boot process, the following config options must be
set:

    CONFIG_ANDROID_AB=y
    CONFIG_CMD_AB_SELECT=y

For successful A/B boot, the corresponding A/B infrastructure must be
involved on Android side [1] (including mounting system as root), and
disk must be partitioned accordingly.

When A/B boot is enabled, there are some known limitations currently
exist (not related to A/B patches, need to be implemented later):

  1. The 'Verified Boot' sequence is not supported
  2. dev path to system partition (system_a or system_b) is passed via
     'bootargs' as 'root=' argument like 'root=/dev/mmcblk1p12', but
     further we'll need to rework it with respect to dm-verity
     requirements [2]

In case when A/B partitions are not present in system (and A/B boot is
enabled), boot up process will be terminated and next message will be
shown:

    "boot_a(b) partition not found"

[1] https://source.android.com/devices/tech/ota/ab
[2] https://source.android.com/devices/tech/ota/ab/ab_implement#kernel

Signed-off-by: Ruslan Trofymenko <ruslan.trofymenko@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Alistair Strachan <astrachan@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-24 13:20:27 -04:00
..
2019-05-20 13:50:34 +02:00
2018-11-27 21:06:53 +05:30
2019-07-24 13:16:29 -04:00
2018-11-14 09:16:27 -08:00
2018-09-29 11:49:35 -06:00
2019-05-09 19:52:55 -04:00
2019-05-05 08:48:50 -04:00
2019-05-09 00:44:13 +05:30
2018-09-10 20:48:16 -04:00
2019-07-19 11:11:09 +08:00
2019-04-23 20:26:43 -06:00
2018-12-07 08:13:45 -05:00
2018-12-07 08:13:45 -05:00
2019-07-16 22:17:22 +00:00
2019-07-18 11:31:25 -04:00
2019-04-22 12:06:39 -04:00
2018-07-26 14:08:22 -05:00
2018-09-23 21:55:30 +02:00
2019-06-23 14:18:42 +08:00
2019-02-20 15:27:09 +08:00
2018-06-13 07:49:12 -04:00
2018-12-06 23:26:32 -05:00
2019-02-09 12:50:22 -07:00
2018-10-22 13:01:27 +02:00
2019-01-01 14:12:18 +01:00
2019-04-23 20:26:43 -06:00
2018-12-05 06:01:35 -07:00
2018-04-06 17:04:33 -04:00
2019-02-02 08:19:17 -05:00
2019-07-18 16:37:13 -05:00
2019-07-15 10:30:08 +08:00
2019-05-20 13:50:34 +02:00
2018-10-02 22:12:32 +05:30
2019-07-18 16:37:13 -05:00
2018-10-09 04:40:27 -06:00
2019-07-18 16:37:13 -05:00
2019-05-20 13:50:34 +02:00
2019-07-18 11:31:29 -04:00
2019-05-31 23:27:12 +02:00
2018-07-19 16:31:37 -04:00
2019-02-01 16:59:12 +01:00
2019-05-21 17:33:23 -06:00
2018-07-20 15:55:05 -04:00
2018-10-09 04:40:27 -06:00
2019-06-04 22:09:26 +02:00
2018-09-28 18:26:32 +02:00