| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Update makefiles to no longer rely on INTERNAL_RECOVERY_FILES. Define
LOCAL_ADDITIONAL_DEPENDENCIES instead.
Set LOCAL_LDFLAGS to properly link recovery executable.
Change-Id: I4542104c69399b5a19674b9772ab89c3709efa72
|
|
|
|
|
|
|
|
|
| |
This actually uses the EMMC partition access code. In order for this
to work, the BML partition name is changed back to the block
device name (e.g. "boot" -> "/dev/block/bml9"), and the
BML_UNLOCK_ALL ioctl is called before writing.
Change-Id: I012f1eca0b486b7465ca38b5db1f513ee8a246ea
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable TWRP to reside alongside other recoveries with the naming
convention: bootable/recovery(-flag). If TWRP resides at
bootable/recovery and a device does not specify RECOVERY_VARIANT, then
it will build like normal. If TWRP resides at bootable/recovery-twrp,
then its makefiles will only be parsed if a device specifies
'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile
warnings/errors (notably, missing DEVICE_RESOLUTION) when another
recovery is being built.
Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
|
|
|
|
|
|
|
|
| |
Fix building all applypatch items
Fix building verifier_test (probably will not work right as-is)
but at least it builds without errors.
Change-Id: I7ab0c04d7d3d2c2e14b57480627e594f89a68b0b
|
|\
| |
| |
| |
| |
| |
| |
| | |
Make a copy of libmincrypt in TWRP source so we do not have to
ifdef verifier.cpp for various versions of mincrypt.
Remove reboot tool from toolbox (it was removed from 4.4 and did
not compile properly on some devices in older trees)
|
| |\
| | |
| | |
| | |
| | | |
* commit 'a69b50c567d46afad73c4d6ab9e57f078ee73327':
recovery: remove O_DIRECT, use O_SYNC only
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* commit '660637f3fc6fe20e8b7f47b98152138c2c92b7ec':
recovery: more cargo-cult programming
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'fbcfad33face5d3b9e6b8cb04379168bceb517df':
recovery: sleep after writing partition and closing it
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* commit '2148133d46cb875316b01947dd5719ed995f7d67':
recovery: write partitions more conservatively
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* commit '0ccaccf7d0f50bb9555ee13a841c246a1fea80f2':
recovery: try to write EMMC partitions more reliably
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: Ifd5a29d459acf101311fa1c220f728c3d0ac2e4e
|
|\ \ \ \ \ \ \
| | |_|_|_|_|/
| |/| | | | |
| | | | | | | |
Merge in latest commits from AOSP master and fix merge conflicts
|
| | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
O_DIRECT writes fail with EINVAL due to alignment issues.
Change-Id: If8cf38a636313e4f4b4e61e66287dc903c473e5b
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add O_DIRECT|O_SYNC when opening partitions for write.
Change-Id: I9825ad8e60fba87e482f8abc5593d6f54a1e3a1c
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Another speculative attempt to get everything we write actually stored
to the device.
Change-Id: Icf40b0741b4c535e55ea34848073a97d90dc0e70
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Write and verify partitions using write(2) and read(2) rather than the
stdio functions. Read and write in 4kb blocks. When writing, fsync()
every 1MB.
Bug: 9602014
Change-Id: Ie98ce38e857786fc0f4ebf36bb5ffc93b41bc96f
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Nexus 4 has flash errors that manifest during large writes (eg, of the
radio partition). Writes of some blocks seem to be dropped silently,
without any errors being returned to the user level.
Make two changes to the partition-writing code:
- break it up into 1MB writes instead of writing partitions with a
single fwrite() call. Pause for 50ms in between every chunk.
- read the partition back after writing and verify that we read what
we wrote. Drop caches before reading so we (hopefully) are reading
off the actual flash and not some cache.
Neither of these should be necessary.
Bug: 9602014
Change-Id: Ice2e24dd4c11f1a57968277b5eb1468c772f6f63
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make minzip log only a count of files when extracting, not individual
filenames. Make patching only chatter about free space if there's not
enough and compact the other messages.
Only the last 8k of the recovery log gets uploaded; this makes it more
likely that we will get all of it.
Change-Id: I529cb4947fe2185df82b9da5fae450a7480dcecd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bonus data option lets you give an additional blob of uncompressed
data to be used when constructing a patch for chunk #1 of an image.
The same blob must be available at patch time, and can be passed to
the command-line applypatch tool (this feature is not accessible from
edify scripts).
This will be used to reduce the size of recovery-from-boot patches by
storing parts of the recovery ramdisk (the UI images) on the system
partition.
Change-Id: Iac1959cdf7f5e4582f8d434e83456e483b64c02c
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
* commit '3733d2185bbcedd9ef626907f1f32628986cc0f5':
Use the static version of libsparse
Multiple modules with the same name are going away.
host modules don't need LOCAL_MODULE_TAGS
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When creating a new file using open(..., O_CREAT), it is an error
to fail to specify a creation mode. If a mode is not specified, a
random stack provided value is used as the "mode".
This will become a compile error in a future Android change.
Change-Id: I73c1e1a39ca36bf01704b07302af4971d234b5a8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When creating a new file using open(..., O_CREAT), it is an error
to fail to specify a creation mode. If a mode is not specified, a
random stack provided value is used as the "mode".
This will become a compile error in a future Android change.
Change-Id: I73c1e1a39ca36bf01704b07302af4971d234b5a8
|
| |/
|/|
| |
| |
| |
| |
| | |
Pull in most TWRP sources
Stub out partition management code
Make it compile -- probably will not boot
Kind of a mess but have to start somewhere
|
|/
|
|
| |
Change-Id: I5e1df90f18fbaf98e3207c553a8fb859c1064137
|
|
|
|
|
|
|
|
|
|
|
| |
1. AOSP_APACH2
2. BSD for bsdiff.c and bspatch.c
Bug: 6299628
Change-Id: If9a5f7f8f07ad51bb62202253da189d804674e54
Signed-off-by: Wei Zhong <wzhong@google.com>
(cherry picked from commit 592e7a9cf1c856bee2adb8f285ac359e2d7f68e1)
|
|
|
|
| |
Change-Id: I44a75f5451af053778be299b23274ecce9b2db76
|
|
|
|
|
|
|
| |
The applypatch function is somewhat sloppy about freeing memory (since
it was originally a standalone binary). Fix some of that.
Change-Id: Ifd44d71ea189c0b5115493119fd57bc37533fd59
|
|
|
|
|
|
| |
Bug: 5010576
Change-Id: Ib465fdb42c8621899bea15c04a427d7ab1641a8c
|
|
|
|
| |
Change-Id: Iada6268b0a72ee832113ea397334cc7950a37051
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit 'c080bc549aaf272c77fe7903e52c2a2c0d8de1bb'
* commit 'c080bc549aaf272c77fe7903e52c2a2c0d8de1bb':
remove shadowed variable declaration
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '201cd46680f5789e21a57fb4476ab0ba0c0ed4c0' into gingerbread
* commit '201cd46680f5789e21a57fb4476ab0ba0c0ed4c0':
remove shadowed variable declaration
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
An accidental variable declaration ("int enough_space = ..." instead
of "enough_space = " inside a block) shadowing the real one meant we
were always using the copy-to-cache path for patching, even when not
necessary. Remove it. Enforce an absolute minimum of free space as
well, to avoid running into problems patching small files, now that
the copy-to-cache path is (inadvertently) well-tested.
Change-Id: Idb7d57241a9adcda2e11001fa44f0cd67ce40d19
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'c4e3200578ad670bee9f5a88e90e7a77089d5df7'
* commit 'c4e3200578ad670bee9f5a88e90e7a77089d5df7':
fix bug in applying patches
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '8cd9e4f3d4eba481b411482331293c8079ab24b2' into gingerbread
* commit '8cd9e4f3d4eba481b411482331293c8079ab24b2':
fix bug in applying patches
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When restarting a patch from crashing in the middle of a large file,
we're not finding the correct patch to apply to the copy saved in
cache.
Change-Id: I41cb2b87d096bb7a28a10c4cf3902facd45d4c9d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Separate files for retouch functionality are in minelf/*
ASLR for shared libraries is controlled by "-a" in ota_from_target_files.
Binary files are self-contained. Retouch logic can recover from crashes.
Signed-off-by: Hristo Bojinov <hristo@google.com>
Change-Id: I76c596abf4febd68c14f9d807ac62e8751e0b1bd
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Let applypatch read and write EMMC partitions as well as MTD ones.
This enables incremental updates that include boot image changes, as
well as OTA of new recovery partitions.
Change-Id: I3766b9e77c639769ddf693b675da51d57f6e6b1d
|
|/
|
|
|
|
|
|
|
| |
Add in Makefiles and support files for x86 builds
Based on changes by: wonjong.lee <wonjong.lee@windriver.com>
Additional changes by: Mark Gross <mark.gross@intel.com>
Additional changes by: Bruce Beare <brucex.j.beare@intel.com>
Change-Id: I71fcf58f116e4e9047e7d03fdb28e3308553ce5c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the applypatch function to take meaningful arguments instead of
argc and argv. Move all the parsing of arguments into main.c (for the
standalone binary) and into install.c (for the updater function).
applypatch() takes patches as Value objects, so we can pass in blobs
extracted from the package without ever writing them to temp files.
The patching code is changed to read the patch from memory instead of
a file.
A bunch of compiler warnings (mostly about signed vs unsigned types)
are fixed.
Support for the IMGDIFF1 format is dropped. (We've been generating
IMGDIFF2 packages for some time now.)
Change-Id: I217563c500012750f27110db821928a06211323f
|
|
- Move applypatch to this package (from build).
- Add a rudimentary type system to edify: instead of just returning a
char*, functions now return a Value*, which is a struct that can
carry different types of value (currently just STRING and BLOB).
Convert all functions to this new scheme.
- Change the one-argument form of package_extract_file to return a
Value of the new BLOB type.
- Add read_file() to load a local file and return a blob, and
sha1_check() to test a blob (or string) against a set of possible
sha1s. read_file() uses the file-loading code from applypatch so it
can read MTD partitions as well.
This is the start of better integration between applypatch and the
rest of edify.
b/2361316 - VZW Issue PP628: Continuous reset to Droid logo:
framework-res.apk update failed (CR LIBtt59130)
Change-Id: Ibd038074749a4d515de1f115c498c6c589ee91e5
|