In rootfs context, the verity mode must be supplied by the bootloader
to the kernel. This patch creates a new verity_corrupted field in the
slot metadata structure to remind that this slot is corrupted from a
dm-verity point of view.
If the bootloader receives the "dm-verity device corrupted" reboot
target, it should set this bit to 1. If this bit value is 1, the
bootloader should set the veritymode to "eio".
Change-Id: I9335a39d7d009200318c58c53a3139d542788a9b
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Write error code, cause code, and retry count into last_install. So we
can have more information about the reason of a failed OTA.
Example of new last_install:
@/cache/recovery/block.map package name
0 install result
retry: 1 retry count (new)
error: 30 error code (new)
cause: 12 error cause (new)
Details in:
go/android-ota-errorcode
Bug: 28471955
Change-Id: I00e7153c821e7355c1be81a86c7f228108f3dc37
am: 8a55c65345
* commit '8a55c653458c2d33af506b193e658faf8f88bfa3':
DO NOT MERGE Use updated libpng API
Change-Id: Id8a3a6a56edc5fbc9a10e08d9c09f47850964612
am: 75dea9ca3a
* commit '75dea9ca3aabe23bed2d9f15b70dbdd5efb18cd1':
DO NOT MERGE Use updated libpng API
Change-Id: Id23a9528e6413e40cd3249e0143c02798dcec4cc
am: 75dea9ca3a
* commit '75dea9ca3aabe23bed2d9f15b70dbdd5efb18cd1':
DO NOT MERGE Use updated libpng API
Change-Id: I75e0414350115ec133d9905263c01c3b385512b3
am: b02b2fe392
* commit 'b02b2fe392827a423c7783522edc5b9ad3d4f130':
DO NOT MERGE Use updated libpng API
Change-Id: Ie6e8c5118687f0d34fc4acffdcb1d784e71e411f
am: fc1d9a49d1
* commit 'fc1d9a49d1e33c133c96cf6b04d6f47d3cfaa496':
DO NOT MERGE Use updated libpng API
Change-Id: Id9da4d3980f394bf19032581629d0baf9c30e0fc
am: 300af0779d
* commit '300af0779de3c2658f32e3de40adc41dae92df1e':
DO NOT MERGE Use updated libpng API
Change-Id: Iac60caa51e747fcde2c08ddf06323e8b1e98f36a
am: aa02888e55
* commit 'aa02888e55147ec78fa5636a87e2447bda136d68':
DO NOT MERGE Use updated libpng API
Change-Id: I10705dd579623e4b208093cfc4839aad496081c8
am: 8a1d4e97ad
* commit '8a1d4e97ad3b748a06db618f9d7ccf5114ea16d0':
DO NOT MERGE Use updated libpng API
Change-Id: I09e8917976c05beec8bf881140539948c323ce58
am: ca45737e27
* commit 'ca45737e272aeefd657451a6faaa088d1903378c':
DO NOT MERGE Use updated libpng API
Change-Id: Ia9c36583c9d60d01fec7ee9aefc973dabb1c07d3
am: 1f814d7630
* commit '1f814d7630c56cc9e825ed411e068414c97acb6c':
DO NOT MERGE Use updated libpng API
Change-Id: Ib381e8ccefe9181911a2144d7255ecadefb42b5c
am: 36acff7d7e
* commit '36acff7d7e88549bbeab6a08488ab48596d7fbc5':
DO NOT MERGE Use updated libpng API
Change-Id: I7f01d932235ef69640ed4859d0e62344b3b774de
am: a5bc59620f
* commit 'a5bc59620fd43c99621eb98ac84cbeea867d0c93':
DO NOT MERGE Use updated libpng API
Change-Id: I3d8d27b08fd1fd89c6b8d9c39b883a45aecb83ce
am: 839b4e592a
* commit '839b4e592a7c81bdebe08fae4eef6e909c89acd6':
DO NOT MERGE Use updated libpng API
Change-Id: I7bbece70a4129554d953fd22c71527b2ca11262e
am: 027b403e8a
* commit '027b403e8aa90ddc533e39e623df09fc319bb6ee':
Add time and I/O info to last_install
Change-Id: I04c368dd551946427f683df906eb42e0f2f740e9
am: dd874b1c87
* commit 'dd874b1c87eb04f28db0db2629df0adde568a74c':
Add time and I/O info to last_install
Change-Id: I02aa858d5ce488d3acbf5400811e2565cf7d9c75
am: dd874b1c87
* commit 'dd874b1c87eb04f28db0db2629df0adde568a74c':
Add time and I/O info to last_install
Change-Id: I487bdc54897816fe8ed24b441a848cac1dc29389
am: 0cc7e28ffd
* commit '0cc7e28ffd00cff661d0120e9365b7bfa9bec533':
Keep ADF device alive for the lifetime of the minui backend
Change-Id: I3ff57ca546aa6d88a73d9ccf986af8e08fa4ee6e
am: 32c2e78726
* commit '32c2e78726fe9c7cdc927c8435352b2f8e824735':
Keep ADF device alive for the lifetime of the minui backend
Change-Id: If28a4b4c7098f1a5fcf8e46e03d0df575fc68fce
am: 14352497f0
* commit '14352497f02c38d4f9df46820284c100a1fb58d3':
Keep ADF device alive for the lifetime of the minui backend
Change-Id: I454b5dcae5bd2ee2e17d607ba70c6c020c76f387
Remove O_SYNC from mzExtractRecursive() and PackageExtractFileFn().
These functions deal with extracting whole files from the update
package onto a filesystem. If run on ext4 on a rotating disk, for
example, the O_SYNC flag will cause serious performance problems
and the extraction proecss can take over 30 minutes, with no
obvious benefits.
This API function already calls fsync(fd) after each file is
extracted to ensure data and metadata is written to the underlying
block device, so the O_SYNC calls should be superfluous and safely
removable.
This change does not affect the OTA patch paths or any modification
of the bootloader partition or writes to other 'emmc' partitions.
Signed-off-by: Alistair Strachan <alistair.strachan@imgtec.com>
Change-Id: I9cbb98a98e6278bf5c0d7efaae340773d1fbfcd2
Some ADF drivers do some amount of state cleanup when the ADF device
node is closed, making and attempts to draw using it fail.
This changes the minui ADF backend to keep the adf_device open until it
is exited, fixing issues on such devices.
external/bsdiff uses divsufsort which is much faster, and also include
some bug fixes.
Bug: 26982501
Test: ./imgdiff_test.sh
Change-Id: I089a301c291ee55d79938c7a3ca6d509895440d1