History log of /bootable/recovery/updater/install.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1e4469a7866e4ec3459734b36eef3fb67035b4d4 07-Apr-2012 Kenny Root <kroot@android.com> am 78911bdf: am 2a4ab824: Merge "Change the format command to always take the mount point as an argument."

* commit '78911bdf4f9dfff6583f3f8150a3257212ceea13':
Change the format command to always take the mount point as an argument.
516e4e23721e4e5aa0a349ab8f27c22a81665880 03-Apr-2012 Stephen Smalley <sds@tycho.nsa.gov> Change the format command to always take the mount point as an argument.

Requires I5a63fd61a7e74d386d0803946d06bcf2fa8a857e

Change-Id: Ica5fb73d6f2ffb981b74d1896538988dbc4d9b24
/bootable/recovery/updater/install.c
41dda82d847ae8c261b09c383806b412d680f935 31-Mar-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 0b1fee1b to master

Change-Id: I2e8298ff5988a96754f56f80a5186c9605ad9928
779701db515d1a0d363d5a8896252f331bc4e22a 09-Feb-2012 Stephen Smalley <sds@tycho.nsa.gov> Extend recovery and updater to support setting file security contexts.

Extend minzip, recovery, and updater to set the security context on
files based on the file_contexts configuration included in the package.

Change-Id: Ied379f266a16c64f2b4dca15dc39b98fcce16f29
/bootable/recovery/updater/install.c
acd73ed156e6f10b96fc277738845f833c514b77 22-Mar-2012 Doug Zongker <dougz@android.com> fail edify script if set_perm() or symlink() fails

It's surprising if these fail, so abort the whole edify script to
catch any problems early.

Bug: 2284848
Change-Id: Ia2a0b60e7f086fc590b242616028905a229c9e05
/bootable/recovery/updater/install.c
35a35a67663127e42c8048ca0dc7465068a5606f 28-Feb-2012 Doug Zongker <dougz@android.com> remove retouching code from updater

Removes the retouch_binaries and undo_retouch_binaries from updater;
newly generated OTA packages should not call them any more.

Note that applypatch retains the ability to unretouch a file as it
reads it. This will be needed as long as we want to support OTAs from
devices that were installed with retouching.

Change-Id: Ib3f6baeae90c84ba85983f626d821ab7e436ceb2
/bootable/recovery/updater/install.c
daefc1d442fb421606680feb9aeb59c133f4c427 31-Oct-2011 Doug Zongker <dougz@android.com> C++ class for device-specific code

Replace the device-specific functions with a class. Move some of the
key handling (for log visibility toggling and rebooting) into the UI
class. Fix up the key handling so there is less crosstalk between the
immediate keys and the queued keys (an increasing annoyance on
button-limited devices).

Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
/bootable/recovery/updater/install.c
d0181b8fcdac761afec252151a8bfda116916e96 19-Oct-2011 Doug Zongker <dougz@android.com> allow recovery packages to wipe cache

updater now has a function "wipe_cache();" which causes recovery to
wipe the cache partition after the successful installation of the
package. Move log copying around a bit so logs and the last_install
flag file are copied to cache after it's wiped.

Bug: 5314244
Change-Id: Id35a9eb6dcd626c8f3a3a0076074f462ed3d44bd
/bootable/recovery/updater/install.c
179b2d989532afe14a88d57c3d1533b8cfe76cb9 13-Apr-2011 Doug Zongker <dougz@android.com> make write_raw_image able to take a blob

write_raw_image() can now take either a blob or a filename as the
source. The blob format eliminates the need for a temp file.

Change-Id: I0c6effec53d47862040efcec75e64b7c951cdcf7
/bootable/recovery/updater/install.c
8f132ed870b4b83727d59f8019b8fabe49fe8ed4 15-Jan-2011 Ken Sumrall <ksumrall@android.com> Reserve the last 16 Kbytes of /data for the crypto footer.

When formatting /data, if it's an ext4 filesystem, reserve the
last 16 Kbytes for the crypto footer.

Change-Id: I7b401d851ee87732e5da5860df0287a1c331c5b7
/bootable/recovery/updater/install.c
264f549b7d5aa5846e691dfe8aa9254fa4dbdc0b 29-Dec-2010 Colin Cross <ccross@android.com> Update arguments to make_ext4fs

Change-Id: Id96e98da76b3091987b01651f980797b1d6b49d8
/bootable/recovery/updater/install.c
dc49ce453efee52044287a2d0139996952f71170 16-Sep-2010 Doug Zongker <dougz@android.com> add missing sparseness parameter

Change-Id: Ie6e309b127e80cd6475f1deaa5dbadf9f5cc2746
/bootable/recovery/updater/install.c
a66c32ab1dde5ea8fc5d9fd9450ded267a94c429 16-Sep-2010 Doug Zongker <dougz@android.com> resolved conflicts for merge of 9f89b0e4 to master

Change-Id: Id458df96fd56830fdb35397e95a80274761ecff5
56c5105bd7096704eaed35329b2c8c84cc282867 01-Jul-2010 Doug Zongker <dougz@android.com> support for ext4/EMMC filesystems in updater binary

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.
/bootable/recovery/updater/install.c
8101125ee5068aff91f98c042660cb29576b8612 14-Aug-2010 Ken Sumrall <ksumrall@android.com> Changes to work with updated make_ext4fs tool that supports creating sparse images.

An extra parameter was added to the make_ext4fs() function, we these tools need
to be updated to match.

Change-Id: Id640a7f2b03153eb333b00337f0f991ff5332349
/bootable/recovery/updater/install.c
db314d69f023d2a6c8956073aa9d283e20b280ef 02-Aug-2010 Hristo Bojinov <hristo@google.com> Working ASLR implementation

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
/bootable/recovery/updater/install.c
3d177d055c9cf3571e4b7c098818b454d1dbf9d7 01-Jul-2010 Doug Zongker <dougz@android.com> support for ext4/EMMC filesystems in updater binary

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.
/bootable/recovery/updater/install.c
c4351c791052ad529a4e83c600b1aa6e6420ea86 22-Feb-2010 Doug Zongker <dougz@android.com> refactor applypatch and friends

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
/bootable/recovery/updater/install.c
512536a54a1a211a9f582e76cbf12850dc7d5466 18-Feb-2010 Doug Zongker <dougz@android.com> relocate applypatch; add type system and new functions to edify

- 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
/bootable/recovery/updater/install.c
e08991e02a7d678f2574e85289a34b2a9a537c82 02-Feb-2010 Doug Zongker <dougz@android.com> bump updater API version to 3; deprecate firmware update command

Remove support for the HTC-specific "firmware" update command and the
corresponding edify function write_firmware_update(). This
functionality is now done by an edify extension library that lives in
vendor/htc.

Change-Id: I80858951ff10ed8dfff98aefb796bef009e05efb
/bootable/recovery/updater/install.c
6aece33b3f3af6a161e326af36bc894427fcf5ad 01-Feb-2010 Doug Zongker <dougz@android.com> add a one-argument version of package_extract_file

Add a version of package_extract_file that returns the file data as
its return value (to be consumed by some other edify function that
expects to receive a bunch of binary data as an argument). Lets us
avoid having two copies of a big file in memory (extracting it into
/tmp, which is a ramdisk, and then having something load it into
memory) when doing things like radio updates.

Change-Id: Ie26ece5fbae457eb0ddcd8a13d74d78a769fbc70
/bootable/recovery/updater/install.c
60babf8ba766662cc0932e8271b67daa69cddd5f 19-Sep-2009 Doug Zongker <dougz@android.com> delete files before symlinking; log error messages

The symlink() function should remove existing files before creating
symlinks, so scripts are idempotent. Log messages when various system
calls fail (but don't make the whole script fail).
/bootable/recovery/updater/install.c
a3f89eabb7ddcf44add8ce3b321ceab6d35289cb 10-Sep-2009 Doug Zongker <dougz@android.com> add a run_program() function to edify

Handy for producing debugging OTA packages (eg, running sqlite3 or
whatever in recovery).
/bootable/recovery/updater/install.c
0bbfe3d901885c1f0ab006e8d4cc1029c44a7376 25-Jun-2009 Doug Zongker <dougz@android.com> fix off-by-one error in set_perm()

We were inadvertently skipping over the first filename in the list of
arguments.
/bootable/recovery/updater/install.c
fbf3c10e45c20f8fe6bd1ac49ffe220035b9c454 24-Jun-2009 Doug Zongker <dougz@android.com> improve updater progress bar

Let recovery accept set_progress commands to control progress over the
'current segment' of the bar. Add a set_progress() builtin to the
updater binary.
/bootable/recovery/updater/install.c
47cace98369f60df2351a65801c8065bb7f9dbf0 18-Jun-2009 Doug Zongker <dougz@android.com> add file_getprop() to updater

Add a function to read a property from a ".prop"-formatted file
(key=value pairs, one per line, ignore # comment lines and blank
lines). Move ErrorAbort to the core of edify; it's not specific to
updater now that errors aren't stored in the app cookie.
/bootable/recovery/updater/install.c
d9c9d10d9da76f067d3955bea71f7bb39e859fa5 12-Jun-2009 Doug Zongker <dougz@android.com> fixes to edify and updater script

A few more changes to edify:

- fix write_raw_image(); my last change neglected to close the write
context, so the written image was corrupt.

- each expression tracks the span of the source code from which it
was compiled, so that assert()'s error message can include the
source of the expression that failed.

- the 'cookie' argument to each Function is replaced with a State
object, which contains the cookie, the source script (for use with
the above spans), and the current error message (replacing the
global variables that were used for this purpose).

- in the recovery image, a new command "ui_print" can be sent back
through the command pipe to cause text to appear on the screen.
Add a new ui_print() function to print things from scripts.
Rename existing "print" function to "stdout".
/bootable/recovery/updater/install.c
8edb00c990e563e6f91b278a212f2edf877cf763 12-Jun-2009 Doug Zongker <dougz@android.com> edify extensions for OTA package installation, part 2

Adds more edify functions for OTAs:

is_mounted getprop apply_patch apply_patch_check apply_patch_space
write_raw_image write_firmware_image package_extract_file

This allows us to install radios, hboots, boot images, and install
incremental OTA packages.

Fixes a couple of dumb bugs in edify itself:

- we were doubling the size of the function table each time it was
*not* full, rather than each time it was full

- "no such function" errors weren't visible to the parser, so they
didn't prevent execution of the script.
/bootable/recovery/updater/install.c
9931f7f3c1288171319e9ff7d053ebaad07db720 10-Jun-2009 Doug Zongker <dougz@android.com> edify extensions for OTA package installation, part 1

Adds the following edify functions:

mount unmount format show_progress delete delete_recursive
package_extract symlink set_perm set_perm_recursive

This set is enough to extract and install the system part of a (full)
OTA package.

Adds the updater binary that extracts an edify script from the OTA
package and then executes it. Minor changes to the edify core (adds a
sleep() builtin for debugging, adds "." to the set of characters that
can appear in an unquoted string).
/bootable/recovery/updater/install.c