Recovery itself no longer needs to access all these partitions;
manipulation of them is done by the updater binary. This is a small
first step towards removing roots entirely.
Change-Id: I3fbcada32079a37db4cc097861dfa91e0a08da30
Merge commit '792b00712bb1411d3b0583bcea95b43b3107fb95' into gingerbread-plus-aosp
* commit '792b00712bb1411d3b0583bcea95b43b3107fb95':
do not merge - update to match ext4utils api
Merge commit '8a8e6cc33cc0dcfe7e184b59d5ef1f1c29095509' into gingerbread-plus-aosp
* commit '8a8e6cc33cc0dcfe7e184b59d5ef1f1c29095509':
(cherry-pick) EMMC support in applypatch
Merge commit '56c5105bd7096704eaed35329b2c8c84cc282867' into gingerbread-plus-aosp
* commit '56c5105bd7096704eaed35329b2c8c84cc282867':
support for ext4/EMMC filesystems in updater binary
Merge commit '8674a726ff05a4a6c09c6934778c251635f130a8' into gingerbread-plus-aosp
* commit '8674a726ff05a4a6c09c6934778c251635f130a8':
(cherry-pick) support installing any .zip file on the sdcard
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: Ib1861219c7ca66dff29ad02d6a0a14e5f03eb4d8
Make the mount and format functions take extra parameters describing
the filesystem type and add support for mounting and formatting ext4
filesystems on EMMC.
Change recovery to consistently use stdout for status messages instead
of mixing stdout and stderr.
Replaces the "install sdcard:update zip" menu option with one that
displays a menu of zip files (and subdirs) on the sdcard and lets you
pick which one to install.
Change-Id: Icff541525f2fdfc8939a91af626ecc386ac9dd07
Merge commit '8e5e4dada713609c9b2c45ea9cf4572bb89ef761' into gingerbread-plus-aosp
* commit '8e5e4dada713609c9b2c45ea9cf4572bb89ef761':
close update package before installing; allow remount
Close the update package before invoking the binary, to allow the
installer to unmount /cache if it wants to. Add a function to allow
remounting of a mount as read-only.
Change-Id: Idfcc96c3da66083295177f729263560be58034e4
Merge commit 'd12560aa2134d3af21a1220cd4873553f9c51743' into gingerbread-plus-aosp
* commit 'd12560aa2134d3af21a1220cd4873553f9c51743':
add the ability to seek to a raw location while reading MTD partition
Merge commit '61ba7a83ef46494689801ddaad569d7d174153b1' into gingerbread-plus-aosp
* commit '61ba7a83ef46494689801ddaad569d7d174153b1':
stop treating all-zero blocks as bad
Merge commit 'aaf3f56c44c37dca4ef9cc9efde68727ca26105f' into gingerbread-plus-aosp
* commit 'aaf3f56c44c37dca4ef9cc9efde68727ca26105f':
block is bad if ioctl() returns nonzero
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
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
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
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
Merge commit '23ceeea85e6a3555dd3d7140128e310954cadf7f' into gingerbread-plus-aosp
* commit '23ceeea85e6a3555dd3d7140128e310954cadf7f':
make a copy of sideloaded packages in /tmp before verifying
Copy a sideloaded package into /tmp, then verify and install the copy,
to prevent malicious users from overwriting the package between
verification and install.
Bug: 2826890 package can be replaced during verification
Bug: 2058160 Recovery should copy sideloaded (sd card) update ...
Change-Id: I3de148b0f1a671f1974782b6855527caeaefda23
Merge commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab' into froyo-plus-aosp
* commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab':
Set adbd to be disabled by default in recovery
Merge commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab' into gingerbread
* commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab':
Set adbd to be disabled by default in recovery
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
The docs say "don't do this", but it's trivial to make safe. Make
StringValue(NULL) return NULL instead of crashing.
Change-Id: I2221bcb4c98d8adb4e25c764d7bdcfa787822bcf
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