Remove the wacky notion of "roots" and "root paths" (those things that
look like "FOO:some/path" instead of just "/foo/some/path"). Let each
device specify its own table of available partitions and how to mount
them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
partitions).
(Cherrypicked from gingerbread w/slight edits.)
Change-Id: I2479ce76b13e73f1d12035c89386c3a82b3edf51
Merge commit '3dba40da1e533c6f419857e4274d9d9dd55868b6'
* commit '3dba40da1e533c6f419857e4274d9d9dd55868b6':
remove the notion of "root path"; support mixed flash types (do not merge)
Merge commit 'd4208f9f9d4e9f268ba1888c1fe879ee73eb7e47' into gingerbread-plus-aosp
* commit 'd4208f9f9d4e9f268ba1888c1fe879ee73eb7e47':
remove the notion of "root path"; support mixed flash types (do not merge)
Remove the wacky notion of "roots" and "root paths" (those things that
look like "FOO:some/path" instead of just "/foo/some/path"). Let each
device specify its own table of available partitions and how to mount
them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
partitions).
Change-Id: I18b0a572a71c5e087e0b7ae11b1774388339bfd1
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 '1dcd2fd0c7cc44cae279a5088241bdf15f084cb8'
* commit '1dcd2fd0c7cc44cae279a5088241bdf15f084cb8':
do not merge - update to match ext4utils api
Merge commit '792b00712bb1411d3b0583bcea95b43b3107fb95' into gingerbread-plus-aosp
* commit '792b00712bb1411d3b0583bcea95b43b3107fb95':
do not merge - update to match ext4utils api
Merge commit 'bd4bc088e286b87a5d1469598644125ecc0fd547'
* commit 'bd4bc088e286b87a5d1469598644125ecc0fd547':
add the ability to seek to a raw location while reading MTD partition
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
An extra parameter was added to the make_ext4fs() function, we these tools need
to be updated to match.
Change-Id: Id640a7f2b03153eb333b00337f0f991ff5332349
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