commit | f7140c0f8ca2b3c171ee10bcbc2bb1b9b9bc0576 | [log] [tgz] |
---|---|---|
author | Tao Bao <tbao@google.com> | Tue Jan 30 17:09:24 2018 -0800 |
committer | Tao Bao <tbao@google.com> | Mon Feb 05 13:28:52 2018 -0800 |
tree | 3df6f1f1de25a528a4bad12d4e02bf8c091f706d | |
parent | ca2ffed06ca0319b93f855cda7d8cfa5af36697c [diff] |
releasetools: Support packaging secondary payload. By default, an A/B OTA package doesn't contain the images for the secondary slot (e.g. system_other.img). Specifying "--include_secondary" that's introduced in this CL allows generating a separate payload that will install secondary slot images. Both payloads will be added to the generated A/B OTA package. An example A/B OTA package with secondary payload | +-- payload.bin | +-- payload_properties.txt | +-- secondary/payload.bin | +-- secondary/payload_properties.txt | +-- ... Such a package needs to be applied in a two-stage manner. During the first stage, the updater applies the primary payload only. Upon finishing, it reboots the device into the newly updated slot. It then continues to install the secondary payload to the inactive slot, but without switching the active slot at the end (needs the matching support in update_engine, i.e. SWITCH_SLOT_ON_REBOOT flag). Due to the special install procedure, the secondary payload will be always generated as a full payload. Bug: 35724498 Test: Generate full and incremental OTAs with --include_secondary. Check the generated OTAs. Test: python -m unittest test_ota_from_target_files Change-Id: I975e826bec492e86eb400f99de0c355a32420127
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.