| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
yres_virtual value is set incorrectly, causing serveral images to be skipped.
Change this value according to the number of buffers to fix this issue.
from: codeaurora.org
minui: Display the battery charging image correctly
commit: 581a4dead6b96579a13ff22e2454c1f329731679
Change-Id: I10f5d1c6cc37705f0287c7dd517082de2e11d264
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
| |
They're completely broken and have been for months because this code
makes no sense.
Change-Id: Ibabcd3dbe5a004a45b341e4a5215aa3df77e1861
|
|\
| |
| |
| |
| | |
* commit 'e5d5ac76cc8e5d11867aeff6a1d068215c1c3a7c':
minor recovery changes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- add the --just_exit option to make recovery exit normally without doing anything
- make it possible to build updater extensions in C++
- add the clear_display command so that the updater binary can request
recovery switch to the NONE background UI
These are all used to support the notion of using OTA as a factory
reflash mechanism.
Change-Id: Ib00d1cbf540feff38f52a61a2cf198915b48488c
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The contribution of SELinux things to AOSP had a call to the old
ui_print that merged cleanly. This changes that call into the newer
call so it will actually compile when enabled.
Change-Id: I8368e937219b01d0bef06007fa46302415256d07
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
* commit '78911bdf4f9dfff6583f3f8150a3257212ceea13':
Change the format command to always take the mount point as an argument.
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* commit '2a4ab824b39e429969199c189ae1b6c1115e51d5':
Change the format command to always take the mount point as an argument.
|
| | |\ \ |
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | | |
Requires I5a63fd61a7e74d386d0803946d06bcf2fa8a857e
Change-Id: Ica5fb73d6f2ffb981b74d1896538988dbc4d9b24
|
|\ \ \ \
| | |_|/
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make minadbd drop its root privileges after initializing. We need to
make the /tmp directory writable by the shell group so that it can
drop the sideloaded file there.
|
|\ \ \ \
| | |/ /
| |/| |
| | | | |
Change-Id: I2e8298ff5988a96754f56f80a5186c9605ad9928
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | |
| | | | |
* commit '155cd3c155004433215147437cdf71844c9efd87':
Extend recovery and updater to support setting file security contexts.
Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used.
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* changes:
Extend recovery and updater to support setting file security contexts.
Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
libext4_utils now calls libselinux in order to determine the
file security context to set on files when creating ext4 images.
Change-Id: I09fb9d563d22ee106bf100eacd4cd9c6300b1152
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It's surprising if these fail, so abort the whole edify script to
catch any problems early.
Bug: 2284848
Change-Id: Ia2a0b60e7f086fc590b242616028905a229c9e05
|
|\ \ \ \ \
| | |_|_|/
| |/| | | |
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Id182bb95ffcc475c5acabb29b413e422302ae7f2
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.
This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.
The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.
always initialize usb product, vendor, etc. for adb in recovery
Set these values even on non-debuggable builds, so that the mini-adb
now in recovery can work.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Needs to link with libminui and ui.cpp now.
Change-Id: I5005e12cf8adb13d320921e3f9174e8c7304d7bf
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
it can be used by devices without screens. Remove the UIParameters
struct and replace it with some new member variables in
ScreenRecoveryUI.
Change-Id: I4c0e659edcbedc0b9e86ed261ae4dbb3c6097414
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Iddbb6f0aefdcbd131457690fddeddb0a873ea856
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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: I8bdea6505da7974631bf3d9ac3ee308f8c0f76e1
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Move all the functions in ui.c to be members of a ScreenRecoveryUI
class, which is a subclass of an abstract RecoveryUI class. Recovery
then creates a global singleton instance of this class and then invoke
the methods to drive the UI. We use this to allow substitution of a
different RecoveryUI implementation for devices with radically
different form factors (eg, that don't have a screen).
Change-Id: I7fd8b2949d0db5a3f47c52978bca183966c86f33
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I68a67a4c8edec9a74463b3d4766005ce27b51316
|
| |/ / /
|/| | |
| | | |
| | | | |
Change-Id: I2f192c67ef425a53a1dba65d3e0544c1d5a567bd
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make minadbd drop its root privileges after initializing. We need to
make the /tmp directory writable by the shell group so that it can
drop the sideloaded file there.
Change-Id: I67b292cf769383f0f67fb934e5a80d408a4c131d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| | |/ /
| |/| |
| | | | |
* commit '62947db579fa7acc9ee01d71f3aeb30add3df260':
|
| |\ \ \
| | |_|/
| |/| |
| | | | |
* commit '37d0f260a55cfbe2b275131b12b2b5b824955e51':
|
| | |\ \
| | | |/
| | |/|
| | | | |
Change-Id: Id3629feac35e35922942a6d04e741e72b95fded4
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I082995c338feaf5d11288300768624cd51b027a4
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Id182bb95ffcc475c5acabb29b413e422302ae7f2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Set these values even on non-debuggable builds, so that the mini-adb
now in recovery can work.
Change-Id: If4c915403e6f43bfe922aa347e350a8982443106
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.
This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.
The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.
Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I9451b8350d33806097598fb9e575b28fd8b292ad
Signed-off-by: Dima Zavin <dima@android.com>
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: I9ef9f808a852c36903c8afc40136c89c9ec07630
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: If6c6ea354caf02fb3bf155931b23e4a6d2f751e9
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: I3b4ea2184555bc0b570ec858601d4c43ecffb6f8
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some packages expect to find cache mounted, since it always is for
"real" OTAs.
Bug: 5739915
Change-Id: I7a7cdd88a60c61e4bc7dc3e1f99956f6487c42e1
|
|\| | |
| | | |
| | | |
| | | | |
* commit '9fc3e3c8a6a5f2f82d5712805e90a9c89f914efa':
|
| |\ \ \
| | |/ /
| |/| /
| | |/ |
Change-Id: I74a51ed7639683e0ab67c922b954eb1391dd2a49
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
it can be used by devices without screens. Remove the UIParameters
struct and replace it with some new member variables in
ScreenRecoveryUI.
Change-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: I61f249861b27180225fb786901275d2da611531b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Move all the functions in ui.c to be members of a ScreenRecoveryUI
class, which is a subclass of an abstract RecoveryUI class. Recovery
then creates a global singleton instance of this class and then invoke
the methods to drive the UI. We use this to allow substitution of a
different RecoveryUI implementation for devices with radically
different form factors (eg, that don't have a screen).
Change-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9
|
|\ \ \
| | |/
| |/|
| | | |
Change-Id: I29287109bc555579a9c66b586a3636ba41be5c57
|
| |\ \
| | |/
| |/| |
|
| | |\ |
|
| | | |\ |
|
| | | | |\ |
|
| | | | | |\ |
|
| | | | | | |\ |
|
| | | | | | | |\ |
|
| | | | | | | | |\ |
|
| | | | | | | | | |\ |
|
| | | | | | | | | | |\ |
|
| | | | | | | | | | | |\ |
|
| | | | | | | | | | | | |\ |
|
| | | | | | | | | | | | | |\ |
|
| | | | | | | | | | | | | |/| |
|
| | | | | | | | | | | | | | |\ |
|
| | | | | | | | | | | | | | | |\ |
|
| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | |
Change-Id: I8444f44d3194ff16ce54121633d5b255231393f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|/ / / / / / / / / / / / / / / /
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | |
Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
|
|/ / / / / / / / / / / / / / /
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
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
|
|/ / / / / / / / / / / / / /
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
If a key is down prior to the time of initialization, we would not get the
down event for the key, and thus think that the key is not pressed.
Add an interface that allows one to provide a callback to execute
on all keys that are currently down.
Change-Id: I2a4096c0cb4c7c7a9a80d207835f168a0b418413
Signed-off-by: Dima Zavin <dima@android.com>
|
|/ / / / / / / / / / / / /
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Change-Id: Ifa0b59e43eaf0bea9435aa4d96c5b0fc4f10fbfe
|
|/ / / / / / / / / / / /
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: I6d52fd1db27fdf1b61f41f598a2209b70385b106
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: I8283d7aaa0f66d488f462cd108350cc49657a745
Signed-off-by: Dima Zavin <dima@android.com>
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: Iad52a6f2adcae0068d252d6163586f9d7b93121d
Signed-off-by: Dima Zavin <dima@android.com>
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Events are now delivered through a callback mechanism during
a call to ev_dispatch(). This will allow us to extend the events
code to handle other devices/fds, not just input. One such example
is the ability to process uevents.
During initialization, we provide an input callback to ev_init
that gets called when a new event is encountered during dispatch.
ev_get has been removed and replaced with ev_get_input() helper
function that can be called from inside the callback to attempt
to get an input event.
The existing client of ev_get in recovery has been split up such
that the input thread just calls ev_wait(); ev_dispatch(); and
the input_callback handles individual events by using the
ev_get_input() helper.
Change-Id: I24d8e71bd1533876b4ab1ae751ba200fea43c049
Signed-off-by: Dima Zavin <dima@android.com>
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: I5c3ee61cbf6fadae50f10b9f2e73caceaa5048a7
Signed-off-by: Dima Zavin <dima@android.com>
|
|/ / / / / / / / / / /
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Change-Id: I5e8f477b7b205794f2975f12e6b6010c177f6052
Signed-off-by: Dima Zavin <dima@android.com>
|
|/ / / / / / / / / /
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Change-Id: I912d3ab32973c5c5e7b6b1749698f8a71d884fa3
|
|/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: I787c086223b674050c0a12fc575add9badb471af
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: Ie7563bf8fb2d627454010de7388d0992e2accf91
|
|\ \ \ \ \ \ \ \ \ |
|
| | |/ / / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | | |
Change-Id: Iabe8be5bbfa7d2bf1d13280c8734ff75b62a152f
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug: 5010576
Change-Id: Ib465fdb42c8621899bea15c04a427d7ab1641a8c
|
| |/ / / / / /
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Wrote some missing items in recovery, most notably the serial number so that it shows up correctly on adb.
Change-Id: If430c0b78191c8d77f781aa605b5081571451775
|
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Always start adbd if ro.debuggable=1 rather than basing it on user preference
in persistent system properties.
Use new D001 product ID, which I just allocated for "android recovery mode"
Change-Id: I6f1eac5257eaad2e538c0a8dd549ad89219efa3e
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I8f78377555c658a992ca95cadf11b67ddc93fed8
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Set the BPP and other fields and write it back, so the line_length comes back correctly.
Change-Id: I85e4e8223c79b9394ae1fb609b3026de62027ab8
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
recovery's init.rc was missing lines that made adb root work.
Change-Id: I300e6997e3b5cb9c7b542b2012eed61deb2550f1
|
| |/ /
|/| |
| | |
| | | |
Change-Id: Ifee94ac08028e62a40241a089ac7c36346fea3a3
|
| |/
|/|
| |
| |
| | |
Change-Id: I8444f44d3194ff16ce54121633d5b255231393f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|\ \
| | |
| | |
| | | |
* commit 'f84b25243d7ebeaca8424171f5ca3b192cc76d80':
|
| |\ \
| | | |
| | | |
| | | | |
* commit '6ebedf0053ccefd414e5887db316f84bd8f6c44c':
|
| | |\ \
| | | | |
| | | | |
| | | | | |
* commit '82da01d6a32c4fbfe57155c119d4669d7faba438':
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I30902cdb19698f88a1ea57cf8c7667ef867d13a8
|
|\| | | | |
| |_|_|_|/
|/| | | |
| | | | |
| | | | | |
* commit 'a94d954862fab26f6159ed7bb836ba6758a569fd':
Mute unharmful build warning at the top of the build log:
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '1117c69fe40dccfa6090d184094c4a6d407ab8d6':
Mute unharmful build warning at the top of the build log:
|
| | |\ \ \
| | | |/ /
| | |/| /
| | | |/
| | | | |
* commit '7172eb7b623f4b30f5a709d639fcd3fb51cd6220':
Mute unharmful build warning at the top of the build log:
|
| | | |\ |
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
diff: out/target/product/generic/obj/PACKAGING/updater_extensions_intermediates/register.inc.list:
No such file or directory
Change-Id: I269b1703b6091b343db45b1c5cdd0962c738788b
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: I1205ca405fdaf586ebc349fbe83969e9694fab60
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Don't hardcode magical partition behavior in roots.c.
Change-Id: I587fc2c066575b51c11efd2e45a50f5b864df484
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | | |
* commit 'c2a158db9588e6ad290dd0f9171a190609900387':
delay accessing misc partition until its device exists
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When the misc partition is on an emmc device, recovery can get started
and try to access it before the kernel has actually created the
device. Try statting the device before reading or writing it; delay
up to 10 seconds waiting for the device to exist.
Change-Id: I988442d5701394d7152bfab3c571e7548c364f61
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* commit '90588820b7110acf142d17457f0d10cd7cb57a8a':
delay accessing misc partition until its device exists
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the misc partition is on an emmc device, recovery can get started
and try to access it before the kernel has actually created the
device. Try statting the device before reading or writing it; delay
up to 10 seconds waiting for the device to exist.
Change-Id: I93256db4b047c76020490e8a3dc76b8ade643291
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the misc partition is on an emmc device, recovery can get started
and try to access it before the kernel has actually created the
device. Try statting the device before reading or writing it; delay
up to 10 seconds waiting for the device to exist.
Change-Id: Ib9bf6c35fa2c28fc43aa7550aaaffb76c9f6e120
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When installing a package, create /cache/recovery/last_install, which
contains the filename of the package and a 1 or 0 for success or
failure.
Also, don't mount ext4 and vfat filesystems as read-only (on devices
where /cache is ext4, we need it to be read-write).
Change-Id: I0cf2a1921bbd65e06343aa74e2006577fac77c2c
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '4762633cf846d17516878303502b056b52353a5d':
log which key a package verified against in recovery
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I0d91b715d1eb9e45e2fce54bb93ba0abef92727e
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ieffafe00cf82620057cacd0629cb60b0e6aad817
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '6e4472abbd3c7be9cd31d98a03df1e3b6fa92f40':
Have recovery reboot using the new android_reboot() function.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new android_reboot() function is a nicer way to reboot the
system. I can optionally sync() and remount read-only writable
filesystems. This fixes bug 3350709.
Change-Id: Ic4c8676debd642e57bce3107b99dd810d90b6f82
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '6ce4a326efae4abb108e19899f4d7776abc362da':
don't reboot for inactivity if USB is connected
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(Cherry-pick back from master.)
Bug: 4071007
Change-Id: I28355c593770df678968185171bdd19dabe7f062
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Icba35da91167d30c446581afb47d0804e49964bf
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '68189f2994690538b6e3bddc3788cb092cbda088':
allow paletted RGB images in recovery
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Recovery assumes any paletted images are in RGBA format. Make it
handle both RGB and RGBA paletted images.
Bug: 3514884
Change-Id: I517cd571aa3f434dacacc33a774236260aec20ef
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Cuts the byte size of the recovery images in half, roughly.
Change-Id: I453a499e9937163c545dab3c552201882766e218
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Cuts the byte size of the recovery images in half, roughly.
Change-Id: I3c45b5e58423b57faca83fc67b4e24e8d643c5b1
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also remove the weird backwards compatibility thing for animations
with fewer than 10 frames. Frames are always named "name01.png",
"name02.png", ..., no matter how many there are.
Change-Id: I7af64fdec1bfcdb0464998b735ec8d6c626ffe9d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change some of the UI parameters (# of indeterminate progress bar
frames, fps, etc.) from #defined constants to variables that can be
set by the device-specific recovery_ui code (via a new function).
Support overlaying different images on top of the base installation
icon to animate it. Make the FPS control more accurate.
Change-Id: I9268b389b7ea6b3ed9e0c7eae37baf4272e60edd
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '8d43d94065e88e00e1460841b43c7de584ee5585':
store partition length in recovery.fstab
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* commit '2c273f004e0504ae0389ad160ed2a92624873189':
store partition length in recovery.fstab
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Don't hardcode magical partition behavior in roots.c.
Change-Id: I587fc2c066575b51c11efd2e45a50f5b864df484
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Don't hardcode magical partition behavior in roots.c.
Change-Id: I587fc2c066575b51c11efd2e45a50f5b864df484
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Iada6268b0a72ee832113ea397334cc7950a37051
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '5df22d03d2e7c6de213d83a58e0af39c42f839ca':
make recovery reboot after 2 minutes of no activity
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '5cae445e43c5928daba0a76745b0dd2657274eda':
make recovery reboot after 2 minutes of no activity
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If recovery sits for 2 minutes in prompt_and_wait(), and you've never
turned the screen on via the magic keypress, go ahead and reboot. (We
used to assume that the user could pull the battery to get out of this
state, but on devices with nonremovable batteries...)
If you've ever enabled display of the log/menu since recovery started,
we assume you know what you're doing and will stay in recovery until
you choose to reboot.
Bug: 3387873
Bug: 3387274
Change-Id: I041621e5db132df9a925e6808845a7c45e1b427a
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'da993fcf2665102435b05d6b20a4c4e8f8bd3b8f':
Free allocated struct after freeing field
|
| |\ \ \ \
| | |/ / /
| |/| / /
| | |/ /
| | | | |
* commit '8d58c957036835db148acc4e506633a016dc6c7e':
Free allocated struct after freeing field
|
| | |\ \ |
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Free allocated MtdReadContext after freeing buffer field in struct,
not before.
Change-Id: I237920dc36115389cd2d6948e7a962dbec22fe56
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was never used; encrypted filesystems are being done a different
way now.
Change-Id: I519c57b9be44d001f0b81516af7bfc252069892b
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
When formatting /data, if it's an ext4 filesystem, reserve the
last 16 Kbytes for the crypto footer.
Change-Id: I7b401d851ee87732e5da5860df0287a1c331c5b7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add "RECOVERY_24_BIT := true" to the device's BoardConfig.mk to use
24-bit framebuffers in the recovery ui.
Change-Id: Iaede138bf7870becf237f12f1c0e49c9ff82d007
|
| | |
| | |
| | |
| | | |
Change-Id: I835e55fb80add6a74cd4d99f77b2528829d9a349
|
| | |
| | |
| | |
| | | |
Change-Id: Id96e98da76b3091987b01651f980797b1d6b49d8
|
|\| |
| | |
| | |
| | |
| | | |
* commit 'c5ebf1fba2f870a4e9453721112900975c18e083':
fix comparison of ECC stats before and after mtd reads
|
| |\|
| | |
| | |
| | |
| | | |
* commit '5d6309e77f6055a9aec062dd991d071054726ebb':
fix comparison of ECC stats before and after mtd reads
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ECC errors are found by comparing the result of ioctl(ECCGETSTATS)
before and after the read. But if an error was found causing us to go
to the next block, we'd compare the stats before the *first* read to
the stats after the second (third, fourth, etc.) reads, so we'd read
to the end of the partition without ever succeeding. Fix logic so we
compare the values before and after each read independently.
Bug: 3162777
Change-Id: I5a13abd7243d2afd1d21bd98cbb233e5124b2e80
|
|\| |
| | |
| | |
| | |
| | | |
* commit '8521ef5965675da85c7bbbe9c8b86fe68716e855':
clear recovery framebuffers on allocation; display icon right after ui_init
|
| |\|
| | |
| | |
| | |
| | | |
* commit '51266d1397309978eac9b2e96035582454f0321b':
clear recovery framebuffers on allocation; display icon right after ui_init
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make ui_init() clear the framebuffer memory it maps in so the user
isn't treated to a visible flash of random bits on recovery startup.
Call ui_set_background() (to show the installing icon) right after
ui_init() to display something while device_recovery_start() is
working (which can take a second or two on some devices).
Bug: 3145331
Change-Id: I11e7859fab5847370ea4f4932c3fb1558af26c5d
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '2d87023e77b20aa2196c8ceae833b33040b0dc57'
* commit '2d87023e77b20aa2196c8ceae833b33040b0dc57':
save the log from recovery's last run in /cache/recovery/last_log
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '2c3539e4d8251ad91e0b881253d39583680093e8' into gingerbread-plus-aosp
* commit '2c3539e4d8251ad91e0b881253d39583680093e8':
save the log from recovery's last run in /cache/recovery/last_log
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also, don't lose the start of the log whenever a wipe cache is
performed.
Change-Id: I29999762854eb36d1ff2bc20b4183c9077b19777
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '704fa75024467fb4e362537f7c341eb056e283b5'
* commit '704fa75024467fb4e362537f7c341eb056e283b5':
handle old-style CACHE: packages
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '9b125b04c6ba8f07d8aa6494d58917a596443dc5' into gingerbread-plus-aosp
* commit '9b125b04c6ba8f07d8aa6494d58917a596443dc5':
handle old-style CACHE: packages
|
| | |
| | |
| | |
| | | |
Change-Id: I7bf52b56770c207ba1c8329243991b07ebb65779
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'af78591c9a2aa8379c2d8528c31ea1eb813f6cae'
* commit 'af78591c9a2aa8379c2d8528c31ea1eb813f6cae':
mount sdcard only on demand; fix sideload installs
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '2c3c5c15d15faf1c9fa074851c57d0afa2a40d28' into gingerbread-plus-aosp
* commit '2c3c5c15d15faf1c9fa074851c57d0afa2a40d28':
mount sdcard only on demand; fix sideload installs
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 3009493
Change-Id: I1a7f99fc41a6a7012742e82f8c06a0c75584890a
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '8147ba850b2e74dc950183e67c77a0da2b1a19b7'
* commit '8147ba850b2e74dc950183e67c77a0da2b1a19b7':
use fs_type "emmc" instead of "block" for consistency (do not merge)
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '93ca4fc6943a3ebf758c5db98531531b8fe92c98' into gingerbread-plus-aosp
* commit '93ca4fc6943a3ebf758c5db98531531b8fe92c98':
use fs_type "emmc" instead of "block" for consistency (do not merge)
|
| | |/
| | |
| | |
| | | |
Change-Id: Iab60665d9c6daef7893896a64b7f319120a5f8ee
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\| |
| | |
| | |
| | | |
Change-Id: If14ab094a8bb11106b0ea7fdf8736e5e4c223089
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'd7d4208976125d114d0b8e44438e2417d5275098' into gingerbread-plus-aosp
* commit 'd7d4208976125d114d0b8e44438e2417d5275098':
remove unneeded partition roots
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: I9d34e491022d7dfed653a861b0728a0a656f1fbe
|
| | |
| | |
| | |
| | | |
Change-Id: Ie6e309b127e80cd6475f1deaa5dbadf9f5cc2746
|
|\| |
| | |
| | |
| | | |
Change-Id: Iab4f25702a5a62b9172f81fd543a8240a0e603c3
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '8a8e6cc33cc0dcfe7e184b59d5ef1f1c29095509' into gingerbread-plus-aosp
* commit '8a8e6cc33cc0dcfe7e184b59d5ef1f1c29095509':
(cherry-pick) EMMC support in applypatch
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\| |
| | |
| | |
| | | |
Change-Id: Id458df96fd56830fdb35397e95a80274761ecff5
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '56c5105bd7096704eaed35329b2c8c84cc282867' into gingerbread-plus-aosp
* commit '56c5105bd7096704eaed35329b2c8c84cc282867':
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.
|
|\| |
| | |
| | |
| | | |
Change-Id: I658894dcaddbf0de428e3c51dbcdc306d3f47a52
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '8674a726ff05a4a6c09c6934778c251635f130a8' into gingerbread-plus-aosp
* commit '8674a726ff05a4a6c09c6934778c251635f130a8':
(cherry-pick) support installing any .zip file on the sdcard
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 '858f0a763d0f736eb721f54257b6164886bfcbfc'
* commit '858f0a763d0f736eb721f54257b6164886bfcbfc':
close update package before installing; allow remount
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
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 'bd4bc088e286b87a5d1469598644125ecc0fd547'
* commit 'bd4bc088e286b87a5d1469598644125ecc0fd547':
add the ability to seek to a raw location while reading MTD partition
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'd12560aa2134d3af21a1220cd4873553f9c51743' into gingerbread-plus-aosp
* commit 'd12560aa2134d3af21a1220cd4873553f9c51743':
add the ability to seek to a raw location while reading MTD partition
|
| | |
| | |
| | |
| | | |
Change-Id: Id1563ca667c50e61cf1bb15d2cf783a50937eece
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'f94a3575d76f1fd6df20f82ca28fff688d53cfbc'
* commit 'f94a3575d76f1fd6df20f82ca28fff688d53cfbc':
stop treating all-zero blocks as bad
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '61ba7a83ef46494689801ddaad569d7d174153b1' into gingerbread-plus-aosp
* commit '61ba7a83ef46494689801ddaad569d7d174153b1':
stop treating all-zero blocks as bad
|
| | |
| | |
| | |
| | | |
Change-Id: If49fa6485f66598d16a7e44fce3129de55fab422
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'a2c9a1e8a2b99bd8197c83b2f749ec61bc0312f8'
* commit 'a2c9a1e8a2b99bd8197c83b2f749ec61bc0312f8':
block is bad if ioctl() returns nonzero
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'aaf3f56c44c37dca4ef9cc9efde68727ca26105f' into gingerbread-plus-aosp
* commit 'aaf3f56c44c37dca4ef9cc9efde68727ca26105f':
block is bad if ioctl() returns nonzero
|
| | |
| | |
| | |
| | | |
Change-Id: I6fc4ce796bc663d05035927c0af0ce7ab6d07218
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '28cae98c834fb4bc47588b34dc3fe19811d5162b'
* commit '28cae98c834fb4bc47588b34dc3fe19811d5162b':
add --show_text option to recovery
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '4bc980626c1cf6f1ea7d36e4b54e0023c896c9de' into gingerbread-plus-aosp
* commit '4bc980626c1cf6f1ea7d36e4b54e0023c896c9de':
add --show_text option to recovery
|
| | |
| | |
| | |
| | | |
Change-Id: Ie6c6c920260dfa759fbb15b1f352d6bb0fa7146c
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '4c7c2f73af773872faf5a65167d74900865d96ba'
* commit '4c7c2f73af773872faf5a65167d74900865d96ba':
Revert 21f0f97ebabb47adcbfe8d38b02685f2019b4eb3
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '532c86002bb89db43094b27ec50f001ae173c650' into gingerbread-plus-aosp
* commit '532c86002bb89db43094b27ec50f001ae173c650':
Revert 21f0f97ebabb47adcbfe8d38b02685f2019b4eb3
|
| | |
| | |
| | |
| | | |
Change-Id: I46e4d7fe76e4219207e46f19e50188e38bb932b7
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '17b44ee3d82d7b8efa8dc3bc17d78fee11d72e01'
* commit '17b44ee3d82d7b8efa8dc3bc17d78fee11d72e01':
Fix for crespo.
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '21f0f97ebabb47adcbfe8d38b02685f2019b4eb3' into gingerbread-plus-aosp
* commit '21f0f97ebabb47adcbfe8d38b02685f2019b4eb3':
Fix for crespo.
|
| | |
| | |
| | |
| | | |
Change-Id: I008510bf614606a46a630c7adc39464ce1143ec3
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '979002871ddc417dfdfb6a6542b9018626af7883'
* commit '979002871ddc417dfdfb6a6542b9018626af7883':
fix bug in applying patches
remove shadowed variable declaration
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '965f9dc45345486e885b59b4776f0ca5e765ec20' into gingerbread-plus-aosp
* commit '965f9dc45345486e885b59b4776f0ca5e765ec20':
fix bug in applying patches
remove shadowed variable declaration
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I4d56dc0235f3df1306736c42144dccb26b876b74
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit 'c080bc549aaf272c77fe7903e52c2a2c0d8de1bb'
* commit 'c080bc549aaf272c77fe7903e52c2a2c0d8de1bb':
remove shadowed variable declaration
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit 'fbd7ae7a1ce0060221241ed02c576983c1f48d34' into gingerbread-plus-aosp
* commit 'fbd7ae7a1ce0060221241ed02c576983c1f48d34':
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
An extra parameter was added to the make_ext4fs() function, we these tools need
to be updated to match.
Change-Id: Id640a7f2b03153eb333b00337f0f991ff5332349
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'c4e3200578ad670bee9f5a88e90e7a77089d5df7'
* commit 'c4e3200578ad670bee9f5a88e90e7a77089d5df7':
fix bug in applying patches
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '17986e6b8766ef9bdaa49efc7099e3867ca1978a' into gingerbread-plus-aosp
* commit '17986e6b8766ef9bdaa49efc7099e3867ca1978a':
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
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I9f912857cfc6afb8ba764f5541af7f01df029a77
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: If0efeddc28e1dbb52d9e52abf53323e2cc97c8f0
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Allow sideloading of OTA packages from USB drives that appear as
/dev/block/sda1.
Change-Id: I1908576c24547cd0088475d8c8917699cd906868
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This CL removes the following line from the top of build logs:
"diff: out/target/product/*/obj/PACKAGING/updater_extensions_intermediates/register.inc.list: No such file or directory"
Change-Id: I79c15a69a0b1b0da0e45620b45a7a0fea5625250
|
|\| | |
| | | |
| | | |
| | | | |
Change-Id: Iafb9cb4adf27a7086d587d95e94ab1bd050099dc
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I827af624c9ec7c64decb702de8c0310cf19b4141
|
|\ \ \ \ \
| |/ / / /
|/| / / /
| |/ / /
| | | |
| | | | |
Merge commit '60faafcf01ff7f4179cdcaefd24b10ac4ee7f692'
* commit '60faafcf01ff7f4179cdcaefd24b10ac4ee7f692':
|
| |\ \ \
| | |/ /
| |/| |
| | | | |
Change-Id: I9d0122dbf1a9c2bd1898c41766c5bf4320f2313a
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab' into froyo-plus-aosp
* commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab':
Set adbd to be disabled by default in recovery
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit 'c78a9698dd55a165c2206c380f87f173bacba2aa'
* commit 'c78a9698dd55a165c2206c380f87f173bacba2aa':
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
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I74fa6edc4b001247b20be52e8301d18407fede2c
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '21b97ed5693d039e8b9dea57a160d3307f412682'
* commit '21b97ed5693d039e8b9dea57a160d3307f412682':
Add __attribute__((format(printf, a, b))) to printf like functions.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix potential string format bug.
Change-Id: Ie05aac53b2c45a48bd68e340b76ccb21edfd28b7
|
|\| | | |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Iad448bc1608f88c5db2108475f35b88ea2877b07
|
|\| | | |
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | | |
Merge commit '97ca48e7f4ac8d3842f74f92b8f40d0e74733f38' into kraken
* commit '97ca48e7f4ac8d3842f74f92b8f40d0e74733f38':
generic_x86 support
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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: I85c94c0e9bc8e05ca52031fc29ca2624c2695ced
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Encrypted File Systems integration. Recovery changes.
Change-Id: I932f73a6f937aac061128e1134eab08c30f0471d
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I932f73a6f937aac061128e1134eab08c30f0471d
|
|\ \ \ \
| |/ / /
|/| / /
| |/ / |
|
|/| |
| |/
| |
| |
| |
| |
| | |
Merge commit '2654f5aae18c67ad9aff6dbcdf9bc67b62e37d2d' into kraken
* commit '2654f5aae18c67ad9aff6dbcdf9bc67b62e37d2d':
DO NOT MERGE
|
|/
|
|
|
|
|
| |
Removing unused recovey options.
Please refer to Bug#2502219 for more info.
Change-Id: I2fe3cdb0c8b93ed7e1cc4093824fbe181f5f0aea
|
|
|
|
| |
Change-Id: Icd177bd26120e0c8929faa8d1007f6c5bd446cb8
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Id2712940c4929f3a8b3ba5d4e9e03bb8034747ee
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
Make sure file is valid before we try to read it. Also free all the
strings we allocate in various functions so we don't leak memory.
Change-Id: Ica3c8dae992e73718c79c12ff5d7e315c290caea
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit 'da846fcf1b6a7bbd2f9f30c965b25f084568ef75'
* commit 'da846fcf1b6a7bbd2f9f30c965b25f084568ef75':
android-2.1_r1 snapshot
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '4c382b13657be5d949e7dfc9ef46a66f2eb496e0' into eclair-plus-aosp
* commit '4c382b13657be5d949e7dfc9ef46a66f2eb496e0':
android-2.1_r1 snapshot
|
| | |\ |
|
| | | |\ |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Remove (or at least stop calling) the HTC-specific mechanism for
preserving the recovery log from before a radio or hboot update.
Replace it with a generic device_recovery_start() function which each
device's code can implement to do whatever it wants on recovery
startup.
Change-Id: If3cca4b498c0b1cf0565236404ecf56a1fc46123
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
%i can't be used to read unsigned ints (though it happens to work with
bionic). Change to %x and %u as appropriate.
Change-Id: I8ea9ca16a939501757cf70fc5953abee26c8231c
http://b/2402231 - Parser for /res/keys interprets n0inv as a signed int
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When doing a firmware (radio or hboot) update on HTC devices, save the
recovery log in block 1 of the cache partition, before the firmware
image and the UI bitmaps. When we boot back into recovery after the
firmware update to reformat the cache partition, copy that log out of
cache before reformatting it and dump it into the current invocation's
log.
The practical upshot of all this is that we can see the log output
from radio and hboot updates.
Change-Id: Ie0e89566754c88f4bed6a90d8a0aa04047b01a27
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '4e9332cb0bb84df4c08bbb469e59a54eab2a9df0'
* commit '4e9332cb0bb84df4c08bbb469e59a54eab2a9df0':
make offsets in firmware update header not point to bad blocks
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '22d79a5c5eab9c1e86ff2af210bb072689e2d630' into eclair-plus-aosp
* commit '22d79a5c5eab9c1e86ff2af210bb072689e2d630':
make offsets in firmware update header not point to bad blocks
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(This is being cherry-picked from master.)
hboot will apparently fail to install if the first block of the image
(the one pointed to by the offset in the block 0 header) is a bad
block. (Hopefully it handles subsequent bad blocks.)
This change makes the MTD write code keep track of the bad blocks it
has skipped over, so that the offset in the header can be adjusted to
be the address of the first successfully written block.
http://b/2358012 - passion: failure to flash hboot (bad blocks?)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
hboot will apparently fail to install if the first block of the image
(the one pointed to by the offset in the block 0 header) is a bad
block. (Hopefully it handles subsequent bad blocks.)
This change makes the MTD write code keep track of the bad blocks it
has skipped over, so that the offset in the header can be adjusted to
be the address of the first successfully written block.
Change-Id: I45d58e32a36d0c1dbc0a7f871bd5985b6c8ff524
http://b/2358012 - passion: failure to flash hboot (bad blocks?)
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '158657bc5ce438d3cf1f601255896b854fd49103'
* commit '158657bc5ce438d3cf1f601255896b854fd49103':
Security: Fix typo in recovery EOCD detection.
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This issue results in the ability to modify the contents of a signed
OTA recovery image.
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'd36308c26d3f2947f4ff49f2ecc22cbb659fdf37'
* commit 'd36308c26d3f2947f4ff49f2ecc22cbb659fdf37':
use MEMGETBADBLOCK to look for bad blocks when reading MTD partitions
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '17a47098d2a4214397f8b30e2692c9487d7ab5ff' into eclair-plus-aosp
* commit '17a47098d2a4214397f8b30e2692c9487d7ab5ff':
use MEMGETBADBLOCK to look for bad blocks when reading MTD partitions
|
| | | | | |
|
|\| | | | |
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'c652e41d9173e299a8e1805ae1b2bba75a34ae12' into eclair-plus-aosp
* commit 'c652e41d9173e299a8e1805ae1b2bba75a34ae12':
fix cut-and-paste error in verifier
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '9b430e11d6c4fb907d0aa96667142e2c00585e09'
* commit '9b430e11d6c4fb907d0aa96667142e2c00585e09':
add a simple unit test for the OTA package verifier
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit '73ae31ce0ac09c0e45924d817644261c87ab1a60' into eclair-mr2-plus-aosp
* commit '73ae31ce0ac09c0e45924d817644261c87ab1a60':
add a simple unit test for the OTA package verifier
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* changes:
Recovery changes for Encrypted File Systems. This change enables/disables the Encrypted file systems feature. It reads some properties form the data partition, wipes the partition out, and then rewrites the proper properties again into the data partition to signal that encrypted FS are enabled.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This change enables/disables the Encrypted file systems feature. It reads some properties form the data partition, wipes the partition out, and then rewrites the proper properties again into the data partition to signal that encrypted FS are enabled.
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| / / / / / /
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit '2278a04a0921007d726e9e1ec4b668860f961f88'
* commit '2278a04a0921007d726e9e1ec4b668860f961f88':
fix cut-and-paste error in verifier
|
| |\| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit '9acf28a390aab3e0f394c701bc3cda6cbc9393b3' into eclair-mr2-plus-aosp
* commit '9acf28a390aab3e0f394c701bc3cda6cbc9393b3':
fix cut-and-paste error in verifier
|
| | |\ \ \ \ \
| | | | |/ / /
| | | |/| | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit 'c652e41d9173e299a8e1805ae1b2bba75a34ae12' into eclair-mr2
* commit 'c652e41d9173e299a8e1805ae1b2bba75a34ae12':
fix cut-and-paste error in verifier
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Oops.
|
|\| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit '6e5be9b24c232be4cfc22b7cbabb0fdf6d869f7c'
* commit '6e5be9b24c232be4cfc22b7cbabb0fdf6d869f7c':
eclair snapshot
|
| |\ \ \ \ \ \
| | | |_|/ / /
| | |/| | | | |
|
| | |\ \ \ \ \
| | | | |_|/ /
| | | |/| | |
| | | | | | | |
Merge commit 'goog/stage-korg-master' into HEAD
|
| | | |\ \ \ \
| | | | | |_|/
| | | | |/| | |
|
| | | | | | | |
|
|\| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit '4011770f2d06fcb743abc91a01a531c7ae2d9175'
* commit '4011770f2d06fcb743abc91a01a531c7ae2d9175':
|
| |\| | | | |
| | |_|_|/ /
| |/| | | | |
|
| | |\ \ \ \
| | | | |_|/
| | | |/| |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '54ec81fe86225d5f3ee3ab16e3266ae88cd639fa' into eclair-plus-aosp
* commit '54ec81fe86225d5f3ee3ab16e3266ae88cd639fa':
replace generic recovery icons
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit '988500b615de24455e1fee69e72055bb1dca9c86' into eclair-plus-aosp
* commit '988500b615de24455e1fee69e72055bb1dca9c86':
add terminator to recovery's getopt_long options array
|
|\| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Merge commit 'd93a25459cdefba940f254b4c5f54fd7d9cdaf11'
* commit 'd93a25459cdefba940f254b4c5f54fd7d9cdaf11':
simplify construction of the recovery progress bar
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Instead of six separate images for the left end, right end, and tiled
center portion of the full and empty progress bars, just use two
images: a full bar and an empty bar. Draw the left side of the full
bar and the right side of the empty one, moving the boundary rightward
to "fill" the bar. This makes recovery trivially smaller, and allows
fancier images to be used as progress bars.
Support paletted PNG images as resources.
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '54ec81fe86225d5f3ee3ab16e3266ae88cd639fa'
* commit '54ec81fe86225d5f3ee3ab16e3266ae88cd639fa':
replace generic recovery icons
|
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | | |
* changes:
replace generic recovery icons
|
| | | | | | |
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '988500b615de24455e1fee69e72055bb1dca9c86'
* commit '988500b615de24455e1fee69e72055bb1dca9c86':
add terminator to recovery's getopt_long options array
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
http://b/2170691 - recovery argument parsing is broken
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '8f8bc4cb487e0f853c97cb5ff1481d707ac6b66d'
* commit '8f8bc4cb487e0f853c97cb5ff1481d707ac6b66d':
confirm before wiping user data in recovery
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'f93d8166ef4c06f6ad71293ffa8a4ce469df4fa5' into eclair-plus-aosp
* commit 'f93d8166ef4c06f6ad71293ffa8a4ce469df4fa5':
confirm before wiping user data in recovery
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When using the hidden menu to wipe data in recovery, confirm before
starting the wipe. (This does not affect booting with the --wipe_data
flag, or using Alt+W on dream with the menu hidden -- those still wipe
data immediately.)
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '486aa290635dbf6f60b3435694951fed3470ffdf'
* commit '486aa290635dbf6f60b3435694951fed3470ffdf':
reduce fraction of progress bar for verification
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'fd8fb0c49242af5147708f1a93ea3acba546555b' into eclair-plus-aosp
* commit 'fd8fb0c49242af5147708f1a93ea3acba546555b':
reduce fraction of progress bar for verification
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Reduce the fraction of the progress bar used for package verification
from 50% to 25%:
- verification is faster than before due to sha1 improvements
- in eclair we're now verifying the compressed data rather than
decompressing it
- incremental packages (which is what most installs use) write more
data than is contained in the package.
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'd16fb221cd27abea8a954bd5f6554fa116366519'
* commit 'd16fb221cd27abea8a954bd5f6554fa116366519':
delete files before symlinking; log error messages
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '60babf8ba766662cc0932e8271b67daa69cddd5f' into eclair-plus-aosp
* commit '60babf8ba766662cc0932e8271b67daa69cddd5f':
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).
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '2f4fc56183f3fe2edb5e3cd5e12329871e02518f'
* commit '2f4fc56183f3fe2edb5e3cd5e12329871e02518f':
don't complain if recovery icon is short
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '196c25c777daedbe2fe5a45171fb42e43ceed9af' into eclair-plus-aosp
* commit '196c25c777daedbe2fe5a45171fb42e43ceed9af':
don't complain if recovery icon is short
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the a recovery icon file is so short that we can't even read the
8-byte header, put a message in the log but not on the device screen.
We intentionally have zero-length files for some icons on some devices,
if they're never shown (eg, the firmware installation icons are only
used on HTC devices).
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'b5d542cd40360867bc00cdb9266c0abf26448c55'
* commit 'b5d542cd40360867bc00cdb9266c0abf26448c55':
add a run_program() function to edify
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'a3f89eabb7ddcf44add8ce3b321ceab6d35289cb' into eclair-plus-aosp
* commit 'a3f89eabb7ddcf44add8ce3b321ceab6d35289cb':
add a run_program() function to edify
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Handy for producing debugging OTA packages (eg, running sqlite3 or
whatever in recovery).
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '9a77b613f3fdf6340b0f5f24d1c725fd0001e4a9'
* commit '9a77b613f3fdf6340b0f5f24d1c725fd0001e4a9':
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | |\ \ \
| | | | |/
| | | |/| |
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'cbf903803850deb4f70490d97a1603e7b8679cc2'
* commit 'cbf903803850deb4f70490d97a1603e7b8679cc2':
Not all failures to fopen_root_path() are serious.
|
| |\| | |
| | |_|/
| |/| | |
|
| | | |
| | | |
| | | |
| | | | |
Example: E:Can't open /cache/recovery/command.
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '34c98df78a80881698f63ce0815f3e16823d85e0'
* commit '34c98df78a80881698f63ce0815f3e16823d85e0':
do not merge: cherry-pick of c2d666bd4f6eb5f7a9f17b10435c161cb105b7c5 from master
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
after a power loss
Submitted on behalf of Hong-Bin Wang <hong-binwang@motorola.com>
Signed-off-by: Jared Suttles <jared.suttles@motorola.com>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '54e2e86c5740a2c7a02e95e94c4aff362a5502cf'
* commit '54e2e86c5740a2c7a02e95e94c4aff362a5502cf':
do not merge: cherry-picked 60151a295ccf726238dc47456d80b427db6d6a38 from master branch
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
In recovery, verify a signature that covers the entire zip file,
instead of using the jarsigner format to verify individual files.
Bug: 1328985
|
|\| | |
|
| |\ \ |
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
Merge commit '20697b965cd923211daeea2037f60218358b9659'
* commit '20697b965cd923211daeea2037f60218358b9659':
only build flash_image for eng
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
With the recovery image being installed by applypatch, the flash_image
tool isn't needed any more. Continue to build it for eng just in case
it's handy for debugging.
|
|\ \ \
| | |/
| |/| |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
gcc 4.4 complains about some of the recovery ui functions not being
declared. To include the header, we have to fix the 'volatile'
declaration (otherwise there's a compiler error).
Move the dream-specific images to vendor/htc/dream, make the default
images a generic phone.
|
|\ \ \ \
| | |_|/
| |/| | |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
Yank all the code to install OTA packages out of the recovery binary
itself. Now packages are installed by a binary included in the
package (run as a child of recovery), so we can make improvements in
the installation process without waiting for a new release to use
them.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'bec02d57fb85cc7dd0196a54b0e9530e306623ac'
* commit 'bec02d57fb85cc7dd0196a54b0e9530e306623ac':
skip over all-zero blocks when reading MTD partition
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We fail to detect certain bad blocks (marked in the factory as bad, I
think?) when reading mtd partitions. These come back as a block of
all zeros. Since it's fairly unlikely a legitimate boot or recovery
block will contain 128k of zeros, change mtdutils to skip over such
blocks.
Arve says https://review.source.android.com/10535 may be a long-term
fix for this, but he isn't yet sure.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'd8f7c9b85e25fab93fef2221a84b60edc2e7b837'
* commit 'd8f7c9b85e25fab93fef2221a84b60edc2e7b837':
remove updater from the user system image
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* changes:
remove updater from the user system image
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
updater (which is only needed in OTA packages) is getting included in
/system/bin, where it just takes up (quite a bit of) space. Use the
hack of including it only in eng builds so it's not there for user
builds.
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit '0bbfe3d901885c1f0ab006e8d4cc1029c44a7376'
* commit '0bbfe3d901885c1f0ab006e8d4cc1029c44a7376':
fix off-by-one error in set_perm()
|
| |/ /
| | |
| | |
| | |
| | | |
We were inadvertently skipping over the first filename in the list of
arguments.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'fbf3c10e45c20f8fe6bd1ac49ffe220035b9c454'
* commit 'fbf3c10e45c20f8fe6bd1ac49ffe220035b9c454':
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow devices (in BoardConfig.mk) to define additional static
libraries to be linked in to updater, to make device-specific
functions available in edify scripts. Modify the updater makefile to
arrange for device libraries to register their edify functions.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some devices want to do special things when recovery wipes data (eg,
wipe data in their baseband processor as well). Add a hook in the
device-specific recovery library that gets called when data is wiped.
Also add an amend root for the "mbm" partition.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '47cace98369f60df2351a65801c8065bb7f9dbf0'
* commit '47cace98369f60df2351a65801c8065bb7f9dbf0':
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.
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To do a firmware-install-on-reboot, the update binary tells recovery
what file to install before rebooting. Let this file be specified as
"PACKAGE:<foo>" to indicate taking the file out of the OTA package,
avoiding an extra copy to /tmp. Bump the API version number to
reflect this change.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'e3da02e7bcfd85c543419e7590a3c86f64d8cc8a'
* commit 'e3da02e7bcfd85c543419e7590a3c86f64d8cc8a':
add less_than_int, greater_than_int to edify
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add functions less_than_int() and greater_than_int() that interpret
their args as ints and do the comparison. ("<" and ">" operators, if
implemented, should do string comparison.) This lets us do the build
time check currently done by the check_prereq binary.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'd9c9d10d9da76f067d3955bea71f7bb39e859fa5'
* commit 'd9c9d10d9da76f067d3955bea71f7bb39e859fa5':
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".
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '8edb00c990e563e6f91b278a212f2edf877cf763'
* commit '8edb00c990e563e6f91b278a212f2edf877cf763':
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.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '9dbc027b5f540bcf23c968398f8a70e92abd56cd'
* commit '9dbc027b5f540bcf23c968398f8a70e92abd56cd':
fix sim build in donut, too
|
| | | |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '9931f7f3c1288171319e9ff7d053ebaad07db720'
* commit '9931f7f3c1288171319e9ff7d053ebaad07db720':
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).
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
When I changed the definition of device_perform_action() in response
to a reviewer comment, I forgot to change this implementation.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Take some device-specific details of the recovery UI (eg, what keys to
press to bring up the interface and perform actions, exact text of the
menu, etc.) and split them out into separate C functions. Arrange to
take implementations of those functions from the appropriate vendor
directory at build time. Provide a default implementation in case no
vendor-specific one is available.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '9b9c2114bd7d02200ce43cb9ec513473079dfad9'
* commit '9b9c2114bd7d02200ce43cb9ec513473079dfad9':
core of edify, an eventual replacement for amend
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
* changes:
core of edify, an eventual replacement for amend
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Edify is a simple scripting language for OTA installation, to be used
when we move to OTAs being installed via binaries shipped with the
package.
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge commit 'b2ee9201be583b17ddbf0eaa69a37545f992b565'
* commit 'b2ee9201be583b17ddbf0eaa69a37545f992b565':
allow OTA package to provide binary instead of script
|
| |/ /
| | |
| | |
| | |
| | | |
Allow installation of OTA packages which do not contain an
update-script, but instead contain an update-binary.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit 'f28c916e73ee9f643c67c70d059c70381d774cb0'
* commit 'f28c916e73ee9f643c67c70d059c70381d774cb0':
remove unused permissions scheme from amend
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Amend (aka the recovery command language) had a half-implemented
scheme of limiting which commands OTA packages were allowed to
execute. It's not clear what this was ever supposed to be good for.
Remove it.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '07e1dca7068284c4f3013550335029eb72b39b82'
* commit '07e1dca7068284c4f3013550335029eb72b39b82':
don't say "install complete" when it really isn't
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change the recovery UI so that when there is a hboot or radio update
pending (which the user most do a home+back reboot to actually
install), the UI tells them so, instead of saying "Install from sdcard
complete."
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '1c4ceae38f3fd7eb1e451d430acb5d99f257b0f9'
* commit '1c4ceae38f3fd7eb1e451d430acb5d99f257b0f9':
undo temporary alignment hack
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove the memory alignment that mysteriously made OTA installs work,
in anticipation of a kernel that fixes the actual problem. Handle
EINTR properly.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '683c4628039a8cb6dad1a086fae23a7d71438414'
* commit '683c4628039a8cb6dad1a086fae23a7d71438414':
align data passed to write() on 32k boundaries
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In donut, OTA installation often encounters the write() system call
doing short writes -- which is legal but unexpected -- or failing with
ENOSPC when plenty of space is available. Passing aligned memory
buffers to write() appears to prevent (or at least reduce the
frequency) of these problems. b/1833052 has been filed to look at the
underlying problem, but this change aligns buffers we use with write()
so we can OTA for now (or see if this problem still occurs).
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '596271fa71d79e3eec03c7cf6ac76cb026dd8578'
* commit '596271fa71d79e3eec03c7cf6ac76cb026dd8578':
handle short writes when unzipping files
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
minzip fails if write() doesn't write all the data in one call.
Apparently this was good enough before, but it causes OTAs to fail all
the time now (maybe due to the recently-submitted kernel)? Change
code to attempt continuing after short writes.
|
|\| | |
|
| |\ \ |
|
|\| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
them from an external file in the recovery image. Use the
test-keys for all builds.
Automated import of CL 144130
|
| | | |
| | | |
| | | |
| | | | |
Automated import of CL 144082
|
| | | |
| | | |
| | | |
| | | | |
Automated import of CL 144070
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
about 60k from the recovery and system images.
Automated import of CL 143128
|
| | | | |
|
| | | | |
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
them from an external file in the recovery image. Use the
test-keys for all builds.
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 144132
|
|\| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 144105
|
|\| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 144101
|
|\ \ \ \ \
| |/ / / /
|/| | | /
| | |_|/
| |/| | |
|
| |\ \ \
| | | |/
| | |/| |
|
| | | | |
|
| | |/ |
|
| |\| |
|
| | |
| | |
| | |
| | | |
Resolves http://code.google.com/p/android/issues/detail?id=2077
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
about 60k from the recovery and system images.
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 143289
|
| | | | |
|
| |_|/
|/| | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
|/ |
|
| |
|
|
|