Commit Graph

687 Commits

Author SHA1 Message Date
Tao Bao 5b8bd02ed4 am 9a5afa52: am 5e23069b: Merge "build_image.py: Use a fixed timestamp in the generated image."
* commit '9a5afa5242a4d179fc45f59944c0fba5ccaa4c15':
  build_image.py: Use a fixed timestamp in the generated image.
2015-09-28 21:24:38 +00:00
Tao Bao 9a5afa5242 am 5e23069b: Merge "build_image.py: Use a fixed timestamp in the generated image."
* commit '5e23069bceebfbf17f67c709bad495d707b194dc':
  build_image.py: Use a fixed timestamp in the generated image.
2015-09-28 21:16:34 +00:00
Tao Bao 052ae3542b build_image.py: Use a fixed timestamp in the generated image.
Bug: 24377993
Change-Id: I9b1433c8c877dc2a391615bb016b8970426e9f70
2015-09-28 13:44:13 -07:00
Tao Bao c41dc0ad1a am 251d56b8: Merge "releasetools: Update the fingerprint when signing."
* commit '251d56b851af2159df8139639b4a1a1602d60163':
  releasetools: Update the fingerprint when signing.
2015-09-25 21:14:17 +00:00
Tao Bao cb7ff77da5 releasetools: Update the fingerprint when signing.
ro.bootimage.build.fingerprint should be updated when signing.

Bug: 22720426
Bug: 24009888
Change-Id: Ib246a257581fd31f90ad6b3d21f39d1a2de24ba8
(cherry picked from commit 265d9aeb62)
2015-09-25 12:41:34 -07:00
Baligh Uddin 12ab99be09 am aa3d37a1: am 5790d54a: am 59f4ff10: Add verity_signer and verity_key flags to add_img_to_target_files.
* commit 'aa3d37a1d704ab9204de7d76dca784c9b17bd2ee':
  Add verity_signer and verity_key flags to add_img_to_target_files.
2015-09-17 05:01:26 +00:00
Baligh Uddin 5790d54ab8 am 59f4ff10: Add verity_signer and verity_key flags to add_img_to_target_files.
* commit '59f4ff109d7da6d608cb6b1248a4403b13d8b2bc':
  Add verity_signer and verity_key flags to add_img_to_target_files.
2015-09-17 04:46:21 +00:00
Baligh Uddin 59f4ff109d Add verity_signer and verity_key flags to add_img_to_target_files.
The signing process requires the boot and recovery images be signed
by CROS-Signer, which is done after a signed_target_files.zip is
available.  Once the boot/recovery images are signed, we need
to insert it back into signed_target_files.zip and regenerate the
system.map and verity tree.  The script (add_img_to_target_files) does
this operation and needs to be aware of verity specific flags.

Bug: 23831896
Change-Id: Id24e878161052c768b74da1231b97eb0574b4c8b
2015-09-16 21:20:30 -07:00
Ian Pedowitz 2029791350 resolved conflicts for f4fc29b0 to mnc-dr-dev-plus-aosp
Change-Id: Ieee6621881ace1631ae53d2a5879c271ba45382f
2015-09-15 19:18:15 -07:00
Ian Pedowitz b00f80cc65 am a0abf49d: resolved conflicts for a1fcaf86 to mnc-dr-dev
* commit 'a0abf49d2bdc42c81e5f636e54da9038de9dfc21':
  Add an option to include a full bootloader in incremental OTA.
2015-09-16 01:48:58 +00:00
Ian Pedowitz a0abf49d2b resolved conflicts for a1fcaf86 to mnc-dr-dev
Change-Id: Ie53652faa530a3c9c83f30c8f2b636d90f0f1b7a
2015-09-15 18:39:19 -07:00
leozwang a1fcaf86c4 Add an option to include a full bootloader in incremental OTA.
Bug: 23999213
Change-Id: I6c715eb01048e187622ba1e90c89a3306a294b8a
2015-09-15 08:44:12 -07:00
leozwang 5f37367d7d am 34863c69: am d0c8ef98: am 1e7f6f74: Fix build.
* commit '34863c6989c0df7ba6c31d0f70804728c4ad69af':
  Fix build.
2015-09-15 09:53:14 +00:00
leozwang d0c8ef989e am 1e7f6f74: Fix build.
* commit '1e7f6f7442ca2addc8e4447d3070c625dbba8d3f':
  Fix build.
2015-09-15 07:57:43 +00:00
leozwang 91c8c66eb0 am 17aa06f6: Fix build.
* commit '17aa06f6fe0c10cb3bb84a11dfc78a88a4155adc':
  Fix build.
2015-09-15 07:52:08 +00:00
leozwang 1e7f6f7442 Fix build.
Convert ota_from_target_files back to symbolic link.

Change-Id: I932ba8c0b15fa71a27083adc92e9f9a90dc82f8c
(cherry picked from commit 17aa06f6fe)
2015-09-15 07:50:10 +00:00
leozwang 17aa06f6fe Fix build.
Convert ota_from_target_files back to symbolic link.

Change-Id: I932ba8c0b15fa71a27083adc92e9f9a90dc82f8c
2015-09-15 00:41:53 -07:00
Leo Wang 684b234ddf am 6570b1e6: am 0cec840c: am 888b6f47: am 47f6a4e7: am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '6570b1e6373e709e01fc91fd7589abeb0a4d4c01':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 05:11:26 +00:00
Leo Wang 0cec840cbc am 888b6f47: am 47f6a4e7: am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '888b6f47c73c7ff0f4780e4406f18a83dbd4d8c2':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:58:06 +00:00
Leo Wang 888b6f47c7 am 47f6a4e7: am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '47f6a4e72592bef7ed91f2541c55c151428e11ad':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:51:19 +00:00
Leo Wang 47f6a4e725 am 1c1a6d15: am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '1c1a6d15b2c979f28d3cf9a13e96e16e24be16ec':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:43:38 +00:00
Leo Wang 1c1a6d15b2 am 2c9dfb82: am 1d4ad515: Revert "Add an option to include a full bootloader in incremental OTA."
* commit '2c9dfb8239bb4cbe1c9118ccc5bd115713f513e6':
  Revert "Add an option to include a full bootloader in incremental OTA."
2015-09-15 04:36:53 +00:00
Leo Wang 1d4ad5158b Revert "Add an option to include a full bootloader in incremental OTA."
This reverts commit 46d5efcd0d.

Change-Id: Ibd347be362db50c0cdb34bf828718872bd74ad56
2015-09-15 04:03:20 +00:00
leozwang ffa5b08178 am 89cd35ab: am fd5330c0: am 160603cf: am 5837f102: am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '89cd35ab823fc549072aed41dd44cce5886e3d06':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 02:12:35 +00:00
leozwang fd5330c057 am 160603cf: am 5837f102: am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '160603cfc20362df30886a05735054842c6f79b8':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 01:24:53 +00:00
leozwang 160603cfc2 am 5837f102: am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '5837f1025cf28935f3c6f3e0417dcfeac4d56688':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 01:17:03 +00:00
leozwang 5837f1025c am 1753b4e9: resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
* commit '1753b4e9e444d9ce57f5ce481ed5e3317670ee31':
  Add an option to include a full bootloader in incremental OTA.
2015-09-15 01:07:05 +00:00
leozwang 1753b4e9e4 resolved conflicts for 00fdede3 to lmp-mr1-ub-dev
Change-Id: If4b79f7ed4d67cd8ed708a84703eac58b1e979ac
2015-09-14 16:39:23 -07:00
leozwang 46d5efcd0d Add an option to include a full bootloader in incremental OTA.
Bug: 23101469
Bug: 23999213

Change-Id: Id5ed748a5639663bb5df954f9375838fd9c295ca
2015-09-14 10:41:34 -07:00
Tao Bao 2acb582a83 am fdd713fa: am fbecca31: am e35d00d0: am 265d9aeb: releasetools: Update the fingerprint when signing.
* commit 'fdd713fa78b589eb89dc9c02d34af2148f24afe8':
  releasetools: Update the fingerprint when signing.
2015-09-12 23:21:25 +00:00
Tao Bao fbecca3143 am e35d00d0: am 265d9aeb: releasetools: Update the fingerprint when signing.
* commit 'e35d00d019aaff92b5e20b86d9c3b8222c0c946a':
  releasetools: Update the fingerprint when signing.
2015-09-12 23:07:41 +00:00
Tao Bao e35d00d019 am 265d9aeb: releasetools: Update the fingerprint when signing.
* commit '265d9aeb622c5829787b16b903f028cacaa99c18':
  releasetools: Update the fingerprint when signing.
2015-09-12 23:00:24 +00:00
Tao Bao 265d9aeb62 releasetools: Update the fingerprint when signing.
ro.bootimage.build.fingerprint should be updated when signing.

Bug: 22720426
Bug: 24009888
Change-Id: I5bd31858c6bc31edcecc6f5248f4274481506288
2015-09-11 16:47:28 -07:00
Tao Bao 8cb50e052f am e0540445: am c5fe3f11: Merge "releasetools: Fix the expected total blocks."
* commit 'e0540445e3d5d7bd5439312a60aa0c467bae1b39':
  releasetools: Fix the expected total blocks.
2015-09-09 19:44:37 +00:00
Tao Bao e0540445e3 am c5fe3f11: Merge "releasetools: Fix the expected total blocks."
* commit 'c5fe3f117d79ed9ddb6e77fbf211a87dc5dffed4':
  releasetools: Fix the expected total blocks.
2015-09-09 19:39:40 +00:00
Tao Bao b32d56ea8c releasetools: Fix the expected total blocks.
With the change in [1], it zeroes out extra blocks that might be read
by dm-verity. We should update the expected number of blocks that get
touched.

[1] commit e9b619108d.

Bug: 23786644
Change-Id: I7a7c3531e5af6bf381d3a14832e77abfa9a8efce
2015-09-09 11:56:58 -07:00
Tao Bao 484617a79a am 5ffff55b: am 10b2e62b: Merge "releasetools: Don\'t write empty groups."
* commit '5ffff55bbd5770dfc3e7586396c326f97c7b2b47':
  releasetools: Don't write empty groups.
2015-09-08 22:38:35 +00:00
Tao Bao 5ffff55bbd am 10b2e62b: Merge "releasetools: Don\'t write empty groups."
* commit '10b2e62b6d45dc4b406be1544fd9b25d6f800e89':
  releasetools: Don't write empty groups.
2015-09-08 22:33:16 +00:00
Tao Bao 42206c3f2f releasetools: Don't write empty groups.
For a DataImage, we may have no mapping of ZERO or NONZERO blocks. Don't
write those groups if they are empty.

Bug: 19024504
Change-Id: I1e921effcdbf0661d4f4b541c104dd456ac0c582
2015-09-08 14:06:08 -07:00
Tao Bao 8eb3ac18ad am 28f6f9c3: releasetools: Always write the last block if it\'s padded.
* commit '28f6f9c3deb4d23fd627d15631d682a5cfa989fc':
  releasetools: Always write the last block if it's padded.
2015-09-08 20:30:51 +00:00
Tao Bao 00f3c89fd4 rangelib.py: Remove the obsolete comment line.
It was supposed to be removed in [1], but still exists for unknown
reason.

[1]: commit e8f756137c

Change-Id: Ic51e14085294495ec390bbf3cbe8c4fb6e97b860
2015-09-08 12:08:24 -07:00
Tao Bao 4748de05f0 am 102ffce5: am 16656668: Merge "releasetools: Always write the last block if it\'s padded."
* commit '102ffce5dc9aefa6da39e3d91b7c7acf071a302b':
  releasetools: Always write the last block if it's padded.
2015-09-08 17:58:44 +00:00
Tao Bao 28f6f9c3de releasetools: Always write the last block if it's padded.
In BBOTAs if the last block of a DataImage is padded, we should always
write the whole block even for incremental OTAs. Because otherwise the
last block may be skipped if unchanged, but would fail the post-install
verification if it has non-zero contents in the padding bytes.

Bug: 23828506
Change-Id: I6f6789eec568ed0b808b9e425f5ecdbea1bdf446
(cherry picked from commit 7589e961a7)
2015-09-08 10:55:32 -07:00
Tao Bao 102ffce5dc am 16656668: Merge "releasetools: Always write the last block if it\'s padded."
* commit '16656668e1cca5b62ca4487206c462b93bf5a0fc':
  releasetools: Always write the last block if it's padded.
2015-09-08 17:50:25 +00:00
Tao Bao 7589e961a7 releasetools: Always write the last block if it's padded.
In BBOTAs if the last block of a DataImage is padded, we should always
write the whole block even for incremental OTAs. Because otherwise the
last block may be skipped if unchanged, but would fail the post-install
verification if it has non-zero contents in the padding bytes.

Bug: 23828506
Change-Id: I4b0af7344d18261258cd48d18c029c089d6ff365
2015-09-05 20:54:55 -07:00
Tao Bao 276a4f4512 am 2f44006a: am 8f4b307e: Merge "releasetools: Fix the bug when deleting files."
* commit '2f44006a4bbfe6eb7af4d69a24bd068a0875a304':
  releasetools: Fix the bug when deleting files.
2015-09-04 18:02:30 +00:00
Tao Bao 2f44006a4b am 8f4b307e: Merge "releasetools: Fix the bug when deleting files."
* commit '8f4b307e56ea73153f249b44dc2b15de77e058f7':
  releasetools: Fix the bug when deleting files.
2015-09-04 17:56:22 +00:00
Tao Bao a77d41e2f7 releasetools: Fix the bug when deleting files.
For file-based OTAs, we used to remove unneeded files in ascending
order, which failed to delete non-empty directories. Reverse the order
to fix the issue.

For example, now we have the following in our generated script:
  delete("/system/app/Calculator/arm/Calculator.odex",
         "/system/app/Calculator/arm/",
         "/system/app/Calculator/Calculator.apk",
         "/system/app/Calculator/");

Bug: 22960996
Change-Id: I0d36d29b7862fb53bf55bf5685a990180f9c0b3b
2015-09-03 21:21:55 -07:00
Tao Bao de4177d815 am a6e6afbc: am 39c322ce: releasetools: Fix the bug in symlink deletion.
* commit 'a6e6afbce69da968299898944bb2165f5e799886':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 18:14:42 +00:00
Tao Bao a6e6afbce6 am 39c322ce: releasetools: Fix the bug in symlink deletion.
* commit '39c322cefcc0ecba76a2ffb8881694fd010a87fc':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 17:26:12 +00:00
Tao Bao 39c322cefc releasetools: Fix the bug in symlink deletion.
For file-based OTAs, symlinks in the source build but not in the target
build will be deleted. However, if a symlink is replaced by a regular
file in the target build, the file will be accidentally deleted when
applying (resuming) the same package again.

Verify the checksum of a symlink that will be unpacked or renamed to.
Delete the file only if it doesn't have the target checksum.

Bug: 23646151
Change-Id: I77bae035e39f2e0be25f7f6d71c5882464e3d50f
(cherry picked from commit 84006eacd0)
2015-09-02 21:21:17 -07:00
Tao Bao 11a93a4831 am 3fb3ece6: am c6c9c61d: Merge "releasetools: Fix the bug in symlink deletion."
* commit '3fb3ece67e643e7437f222068e61ee254ee90b26':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 02:15:37 +00:00
Tao Bao 3fb3ece67e am c6c9c61d: Merge "releasetools: Fix the bug in symlink deletion."
* commit 'c6c9c61d05ffcc41239baaa1f3011b17e8518b65':
  releasetools: Fix the bug in symlink deletion.
2015-09-03 01:40:41 +00:00
Tao Bao 84006eacd0 releasetools: Fix the bug in symlink deletion.
For file-based OTAs, symlinks in the source build but not in the target
build will be deleted. However, if a symlink is replaced by a regular
file in the target build, the file will be accidentally deleted when
applying (resuming) the same package again.

Verify the checksum of a symlink that will be unpacked or renamed to.
Delete the file only if it doesn't have the target checksum.

Bug: 23646151
Change-Id: Ie322abb6022b6fa812c6b36a3127872d9614fc3b
2015-09-02 17:51:16 -07:00
Tao Bao 418632f517 resolved conflicts for merge of 50827e0d to mnc-dr-dev-plus-aosp
Change-Id: I88f94e520f59a381f441de9d4bad158b6c7045c4
2015-08-31 14:38:31 -07:00
Tao Bao 29c245e803 am e337093e: Merge changes from topic \'stash-size\' into mnc-dr-dev
* commit 'e337093e6c5d502f0f4094639b41c001b3048d0f':
  Split large files for BBOTA v3.
  Revise stash for BBOTAs when needed.
  Assert the stash size when generating OTAs.
2015-08-31 21:10:06 +00:00
Tao Bao 8c85549a3c am c9ff5102: am 35da9685: Merge "Use the basename of file_contexts from the info dict."
* commit 'c9ff5102ad9258f9189afd3bd15eb58cab186215':
  Use the basename of file_contexts from the info dict.
2015-08-28 18:56:36 +00:00
Tao Bao c9ff5102ad am 35da9685: Merge "Use the basename of file_contexts from the info dict."
* commit '35da9685f0d3bb367b50aaa4c476b12907099f77':
  Use the basename of file_contexts from the info dict.
2015-08-28 18:46:31 +00:00
Tao Bao 79735a6a82 Use the basename of file_contexts from the info dict.
Changes in [1] break the backward compatibility of the OTA scripts. Fix
the issue by extracting the file basename from the info dict in
META/misc_info.txt.

[1] commit d3a803e668

Bug: 23620049
Change-Id: I40a5625bbe0beb295f34b2328906a4a4283fe59b
2015-08-28 11:17:38 -07:00
Tao Bao 5bf558767d am 4988f18b: am 6458fd96: Merge "rangelib.py: Fix the bug in monotonic check."
* commit '4988f18b1f0884eb1365820cb365fc6a6d082d1d':
  rangelib.py: Fix the bug in monotonic check.
2015-08-27 23:37:41 +00:00
Tao Bao 4988f18b1f am 6458fd96: Merge "rangelib.py: Fix the bug in monotonic check."
* commit '6458fd96d5d0cd3b54a02a5f9c276f49e566cb53':
  rangelib.py: Fix the bug in monotonic check.
2015-08-27 20:44:35 +00:00
Tao Bao 044bd31e50 am 575643a8: am 14342066: Merge "Add unit tests for rangelib.py."
* commit '575643a85d41a428aeda6676146d86b0356e0785':
  Add unit tests for rangelib.py.
2015-08-27 12:40:31 +00:00
Tao Bao 575643a85d am 14342066: Merge "Add unit tests for rangelib.py."
* commit '14342066dbaec25593c12fdba5396d4ca9cad841':
  Add unit tests for rangelib.py.
2015-08-27 05:23:08 +00:00
Tao Bao e8f756137c rangelib.py: Fix the bug in monotonic check.
RangeSet("2-10").monotonic gives a wrong result of "False". Fix the bug
and add more tests into test_rangelib.py.

Change-Id: I04780571b45ecafd34040f405756b9745a9e21a5
2015-08-26 21:16:43 -07:00
Tao Bao 873a15e267 Add unit tests for rangelib.py.
Separate the test cases in rangelib.py comments into a python unittest
file.

To invoke:
  $ python -m unittest test_rangelib

Change-Id: I59e4ce0aaccc83bcbb42fee15775683dcd559d99
2015-08-26 16:13:18 -07:00
Tao Bao 937847ae49 Split large files for BBOTA v3.
For BBOTA v3, we need to stash source blocks to support resumable
feature. However, with the growth of file size and the shrink of the
cache size, source blocks that represent a file are too large to be
stashed as a whole. CL in [1] solves the issue by replacing the diff
command with a "new" command. However, it may increase the generated
package size substantially (e.g. from ~100MB to ~400MB).

With this CL, if a file spans too many blocks, we split it into smaller
pieces by generating multiple commands. For the same case above, it
reduces the package size to ~150MB.

One potential downside is that after splitting, files like .jar,
.apk and .zip can no longer use imgdiff. We may lose the potential
benefit of using imgdiff for patch size reduction.

[1] commit 82c47981bd

Bug: 22430577
Change-Id: Iee1ad6543f3d40368e079e418cc31728e1ab3f48
(cherry picked from commit 9a5caf2c30)
2015-08-26 15:00:38 -07:00
Tao Bao 1fc67631ee Revise stash for BBOTAs when needed.
When generating incremental BBOTAs (v2 and above), we need to ensure
that the needed runtime stash is below the given threshold. If it's
running out of space on /cache, we replace the command that uses a
stash with a "new" command instead.

This may increase the OTA package size, since it is carrying more full
blocks instead of patches. It gets even worse for large files that span
a number of blocks, because currently we will store all the blocks for
the file as "new" blocks if stashing cannot be satisfied. We may further
optimize by splitting them into smaller chunks so that most of them can
still be stashed.

Bug: 22430577
Change-Id: Ieae5243d461e3f899f613f76a380f6f7c3edb356
(cherry picked from commit 82c47981bd)
2015-08-26 15:00:38 -07:00
Tao Bao d47d8e1488 Assert the stash size when generating OTAs.
With block-based OTA v2 and v3, it requires stash space on the /cache
partition to back up blocks during an update. We need to ensure that
it doesn't exceed the partition size. Since there might be other files
on /cache as well, we use cache_size * threshold as the maximum allowed
size. The threshold defaults to 0.8, which can be overridden by command
line option '--stash_threshold'.

Change-Id: Ieee5d373c9bfb2ea401d85ca8a3adb491579de76
(cherry picked from commit 23ac404212)
2015-08-26 15:00:38 -07:00
Tao Bao 78284e6c79 am 68319cdf: am 95708eea: Merge "Split large files for BBOTA v3."
* commit '68319cdf4762c7c48cff68ede2b7f4bc267db735':
  Split large files for BBOTA v3.
2015-08-26 19:59:04 +00:00
Tao Bao 8b528fc3ef am 68319cdf: am 95708eea: Merge "Split large files for BBOTA v3."
* commit '68319cdf4762c7c48cff68ede2b7f4bc267db735':
  Split large files for BBOTA v3.
2015-08-26 19:55:20 +00:00
Tao Bao 9a5caf2c30 Split large files for BBOTA v3.
For BBOTA v3, we need to stash source blocks to support resumable
feature. However, with the growth of file size and the shrink of the
cache size, source blocks that represent a file are too large to be
stashed as a whole. CL in [1] solves the issue by replacing the diff
command with a "new" command. However, it may increase the generated
package size substantially (e.g. from ~100MB to ~400MB).

With this CL, if a file spans too many blocks, we split it into smaller
pieces by generating multiple commands. For the same case above, it
reduces the package size to ~150MB.

One potential downside is that after splitting, files like .jar,
.apk and .zip can no longer use imgdiff. We may lose the potential
benefit of using imgdiff for patch size reduction.

[1] commit 82c47981bd

Bug: 22430577
Change-Id: I5684fab0ac41c8d94fe18f52a34cef77e06f741c
2015-08-26 10:50:11 -07:00
Tao Bao b4ef770e8d am ecb3bbf4: am 7c4c6f58: sparse_img.py: Divide NONZERO blocks into groups.
* commit 'ecb3bbf4bf0f583fdb6c861a8eeafb21c913bae4':
  sparse_img.py: Divide NONZERO blocks into groups.
2015-08-20 18:37:59 +00:00
Tao Bao 7c4c6f589e sparse_img.py: Divide NONZERO blocks into groups.
For squashfs, we currently don't have a system.map. So the whole system
image will be treated as a single file. But for some unknown bug, the
updater will be killed due to OOM when writing back the patched image to
flash (observed on lenok-userdebug MEA49). Prior to getting a real fix,
we evenly divide the non-zero blocks into smaller groups (currently 1024
blocks or 4MB per group).

Bug: 23227672
Change-Id: Ifeddd8d802f01f8cd2a743a1d1217a284fb6e182
2015-08-19 17:10:23 -07:00
Tao Bao 5e88f021cf am 5d690a37: am ab9a3588: Merge "Revise stash for BBOTAs when needed."
* commit '5d690a37d4b3b33dee1cfc2a64b66ed4e9c03460':
  Revise stash for BBOTAs when needed.
2015-08-18 17:25:34 +00:00
Tao Bao 20c68b7494 am 5d690a37: am ab9a3588: Merge "Revise stash for BBOTAs when needed."
* commit '5d690a37d4b3b33dee1cfc2a64b66ed4e9c03460':
  Revise stash for BBOTAs when needed.
2015-08-18 17:25:09 +00:00
Tao Bao ab9a358801 Merge "Revise stash for BBOTAs when needed." 2015-08-18 16:59:05 +00:00
Tao Bao 02c87a01d9 am 3b409d56: am dae6455c: Merge "Add an option to include a full bootloader in incremental OTA."
* commit '3b409d56f4e142dd4afc7e11bbe4502123a46f31':
  Add an option to include a full bootloader in incremental OTA.
2015-08-17 18:29:32 +00:00
Tao Bao e3103ce2a5 am 3b409d56: am dae6455c: Merge "Add an option to include a full bootloader in incremental OTA."
* commit '3b409d56f4e142dd4afc7e11bbe4502123a46f31':
  Add an option to include a full bootloader in incremental OTA.
2015-08-17 17:55:34 +00:00
leozwang aa6c1a1445 Add an option to include a full bootloader in incremental OTA.
Bug: 23101469
Change-Id: Iac466b83f789f10d26e8d289dce766cf0d05148b
(cherry picked from commit c1324751e79b23a63ea494f4bc784446c8f32435)
2015-08-17 10:34:01 -07:00
Tao Bao 82c47981bd Revise stash for BBOTAs when needed.
When generating incremental BBOTAs (v2 and above), we need to ensure
that the needed runtime stash is below the given threshold. If it's
running out of space on /cache, we replace the command that uses a
stash with a "new" command instead.

This may increase the OTA package size, since it is carrying more full
blocks instead of patches. It gets even worse for large files that span
a number of blocks, because currently we will store all the blocks for
the file as "new" blocks if stashing cannot be satisfied. We may further
optimize by splitting them into smaller chunks so that most of them can
still be stashed.

Bug: 22430577
Change-Id: I5a49e361adc7d3d41de2e9c08ee9b08c1e6c091a
2015-08-17 10:21:49 -07:00
Tao Bao db1f93efef am 3a2e91ca: am 8765fca2: Merge "Free the stash after its use in BBOTA v2."
* commit '3a2e91cad7ec1309c07e9d96d572c6a0bed52346':
  Free the stash after its use in BBOTA v2.
2015-08-13 22:34:12 +00:00
Tao Bao 6968a724a5 am 3a2e91ca: am 8765fca2: Merge "Free the stash after its use in BBOTA v2."
* commit '3a2e91cad7ec1309c07e9d96d572c6a0bed52346':
  Free the stash after its use in BBOTA v2.
2015-08-13 22:31:27 +00:00
Tao Bao bb625d2099 Free the stash after its use in BBOTA v2.
In BBOTA v2, the stash size computation is inaccurate. A stash will be
used only once, so we deduct its size from stashed_blocks right after
its use. However, the stash doesn't actually get freed until being
overwritten by another stash or destroyed at the end of an update. This
leads to OTA failures due to insufficient space on /cache. This CL
changes the BBOTA v2 script to generate an explicit free right after
its use.

Bug: 23119955
Change-Id: Icdd8352bb0ff778945937c870990a888c7a4d38b
2015-08-13 14:44:38 -07:00
Nick Kralevich cd8f838d07 am c85364c9: am 5f79bcdd: Merge changes from topic \'file_contexts.bin\'
* commit 'c85364c9c91961461a6d81a37c8b30b34b02383b':
  build: switch over to file_contexts.bin only
  Update embedded.mk to support file_contexts.bin
2015-08-13 00:01:09 +00:00
Nick Kralevich 420662b9cd am c85364c9: am 5f79bcdd: Merge changes from topic \'file_contexts.bin\'
* commit 'c85364c9c91961461a6d81a37c8b30b34b02383b':
  build: switch over to file_contexts.bin only
  Update embedded.mk to support file_contexts.bin
2015-08-13 00:00:36 +00:00
Nick Kralevich 5f79bcdd07 Merge changes from topic 'file_contexts.bin'
* changes:
  build: switch over to file_contexts.bin only
  Update embedded.mk to support file_contexts.bin
2015-08-12 23:46:28 +00:00
Tao Bao 007979ee75 Add support for clobbered blocks
In ext4 filesystems, some blocks might be changed even being mounted
R/O, such as the superblock (block 0). We need to exclude such blocks
from integrity verification. Plus such blocks should always be
written to the target by copying instead of patching.

Bug: http://b/20939131
Change-Id: If9efab3d7a0071a87b4d4297daf7963c3b818afe
(cherry picked from commit ff7778166b)
2015-08-11 21:02:45 -07:00
Furquan Shaikh d7ebf9acfc am 7bb7a5f9: am f8a714ba: am 9f5c487e: Merge "releasetools: Fix parameters for vboot_signer" into mnc-dr-dev
* commit '7bb7a5f94e8a2f1f61156773fc259cf112261803':
  releasetools: Fix parameters for vboot_signer
2015-08-10 20:26:27 +00:00
Furquan Shaikh f8a714ba6f am 9f5c487e: Merge "releasetools: Fix parameters for vboot_signer" into mnc-dr-dev
* commit '9f5c487ef586d20c273cafba6ce663287ef6a37a':
  releasetools: Fix parameters for vboot_signer
2015-08-10 19:34:16 +00:00
Furquan Shaikh 9f5c487ef5 Merge "releasetools: Fix parameters for vboot_signer" into mnc-dr-dev 2015-08-10 19:27:36 +00:00
Furquan Shaikh 852b8de43f releasetools: Fix parameters for vboot_signer
With the change in vboot_signer (CL:744257), an additional parameter
is required to vboot_signer script. This change adds the required
parameter to releasetools as well.

BUG=23076037

Change-Id: Ice5329578b3a9bc459e278a9d404a1981b35ca88
Signed-off-by: Furquan Shaikh <furquan@google.com>
2015-08-10 11:43:45 -07:00
Tao Bao f022de397b am 0fed6730: am 8af98164: Merge "Change the cache partition size check into warnings."
* commit '0fed67301d698a30d3f593f6e6ad738f5b28d41e':
  Change the cache partition size check into warnings.
2015-08-08 04:40:35 +00:00
Tao Bao e3f3a3a941 am 0fed6730: am 8af98164: Merge "Change the cache partition size check into warnings."
* commit '0fed67301d698a30d3f593f6e6ad738f5b28d41e':
  Change the cache partition size check into warnings.
2015-08-08 04:40:29 +00:00
Tao Bao 575d68a48e Change the cache partition size check into warnings.
For some old builds, we may not define cache partition size. Change the
exception into a warning to make the script backward compatible.

Change-Id: Ie94c7fbb1a9f3a7db3f16e8d845e493a534aac5b
2015-08-07 19:49:45 -07:00
Tao Bao 44ca42a515 am 44c8e4db: am 420f95ff: Merge "releasetools: Support packaging for system_root_image."
* commit '44c8e4db55707bb67e06ccc0db3f42a8c7a9bb1e':
  releasetools: Support packaging for system_root_image.
2015-08-07 20:21:04 +00:00
Tao Bao f08f5e37f9 am 44c8e4db: am 420f95ff: Merge "releasetools: Support packaging for system_root_image."
* commit '44c8e4db55707bb67e06ccc0db3f42a8c7a9bb1e':
  releasetools: Support packaging for system_root_image.
2015-08-07 20:08:08 +00:00
Tao Bao 7a5bf8a645 releasetools: Support packaging for system_root_image.
For system images that contain the root directory, we need to find the
root directory at ROOT/ instead of BOOT/RAMDISK/.

Change-Id: Ica345c8b1b03475f8ac6c44fd576045fcf17c882
2015-08-05 16:28:55 -07:00
Stephen Smalley d3a803e668 build: switch over to file_contexts.bin only
Change all uses of the file_contexts file to use the
file_contexts.bin file instead.

Depends on
   I75a781100082c23536f70ce3603f7de42408b5ba
   I43806d564b83d57f05f5c36c8eba7b1ff4831b04
   Id560d093440a2aba99cef28c20133b35feebf950
   I15660f4b3e4c5cb8ae0ec1498c74d6fcbb9a0400

Change-Id: Iaf8c4b2e420f610425a07f48db7af32bda3f5b3a
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-08-04 14:59:06 -04:00
Daniel Rosenberg 7d3ad6040a am b139ae07: am 22354d3c: Merge "Add support for system images that contain the root directory"
* commit 'b139ae078c8b2598889c2fde1a39a9d64f27dc62':
  Add support for system images that contain the root directory
2015-08-03 17:57:23 +00:00
Daniel Rosenberg 93d8ea20b8 am b139ae07: am 22354d3c: Merge "Add support for system images that contain the root directory"
* commit 'b139ae078c8b2598889c2fde1a39a9d64f27dc62':
  Add support for system images that contain the root directory
2015-08-01 00:23:58 +00:00