Commit Graph

70 Commits

Author SHA1 Message Date
dhacker29
30f100e3bc Only disable recovery flash if it is truly "stock" recovery
Some roms need the recovery-from-boot.p for auto update
 of recovery. Typically the use install-[romname]-recovery.sh.
 So only disable if install-recovery.sh is present.

Change-Id: I01f89afc87b9d375d67b44b8b5e9228868a47d69
2014-07-25 23:54:10 +02:00
Dees Troy
bb4c0cbc4b Fix merge conflicts and update for 4.4 kitkat
Make a copy of libmincrypt in TWRP source so we do not have to
ifdef verifier.cpp for various versions of mincrypt.

Remove reboot tool from toolbox (it was removed from 4.4 and did
not compile properly on some devices in older trees)
2013-11-02 20:43:26 +00:00
Vojtech Bocek
05534209f1 Add TWFunc::Exec_Cmd() with no 'result' agrument
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Change-Id: Id8acff1ac9b3c7e4b562c80562a8ff42a1d132b9
2013-09-12 15:36:40 +00:00
Dees_Troy
1669f89dd2 Update to latest AOSP master
Merge in latest commits from AOSP master and fix merge conflicts
2013-09-04 19:00:58 +00:00
Doug Zongker
3b5a987cd7 recovery: fix use of init reboot method
We need to set the system property to "reboot,", not an empty string.

Bug: 10605007
Change-Id: I776e0d273764cf254651ab2b25c2743395b990e0
2013-09-03 14:29:54 -07:00
Doug Zongker
77ea71d6a8 recovery: fix rebooting
Change I84c0513acb549720cb0e8c9fcbda0050f5c396f5 moved reboot
functionality into init but did not update the recovery partition; so
"adb reboot" and /system/bin/reboot in recovery are both broken.

Change-Id: Ie2d14627a686ffb5064256b6c399723636dff116
2013-08-30 12:20:16 -07:00
Doug Zongker
239ac6abac recovery: install packages in a known mount environment
When installing a package, we should have /tmp and /cache mounted and
nothing else.  Ensure this is true by explicitly mounting them and
unmounting everything else as the first step of every install.

Also fix an error in the progress bar that crops up when you do
multiple package installs in one instance of recovery.

Change-Id: I4837ed707cb419ddd3d9f6188b6355ba1bcfe2b2
2013-08-21 13:44:35 -07:00
Doug Zongker
c0441d1719 notify about pending long press
Recovery changes:

- add a method to the UI class that is called when a key is held down
  long enough to be a "long press" (but before it is released).
  Device-specific subclasses can override this to indicate a long
  press.

- do color selection for ScreenRecoveryUI's menu-and-log drawing
  function.  Subclasses can override this to customize the colors they
  use for various elements.

- Include the value of ro.build.display.id in the menu headers, so you
  can see on the screen what version of recovery you are running.

Change-Id: I426a6daf892b9011638e2035aebfa2831d4f596d
2013-07-31 11:35:12 -07:00
Doug Zongker
a4ee1f8b76 Merge "recovery: preserve recovery logs across cache wipes" 2013-07-09 21:16:53 +00:00
Doug Zongker
6d0d7ac051 recovery: preserve recovery logs across cache wipes
When doing a cache wipe or a factory reset (which includes a cache
wipe), save any last* log files in the /cache/recovery directory and
write them back after reformatting the partition, so that wiping data
doesn't lose useful log information.

Change-Id: I1f52ae9131760b5e752e136645c19f71b7b166ee
2013-07-09 13:34:55 -07:00
Doug Zongker
fafc85b4ad recovery: move log output to stdout
Recovery currently has a random mix of messages printed to stdout and
messages printed to stderr, which can make logs hard to read.  Move
everything to stdout.

Change-Id: Ie33bd4a9e1272e731302569cdec918e0534c48a6
2013-07-09 12:50:24 -07:00
Doug Zongker
f24fd7e847 recovery: copy logs to cache more aggressively
Copy logs to /cache immediately upon a package installation failure;
don't wait for recovery to finish.  (If the user reboots without
exiting recovery the "right" way, the logs never get copied at all.)

Change-Id: Iee342944e7ded63da5a4af33d11ebc876f6c0835
2013-07-02 11:43:25 -07:00
Doug Zongker
8cd12112e4 am d51bfc9b: Merge "Fix the potential segmentation fault"
* commit 'd51bfc9b1fe89321af3c629e7b23a747050332e1':
  Fix the potential segmentation fault
2013-06-04 12:10:28 -07:00
Jin Feng
93ffa7579c Fix the potential segmentation fault
Extral newline can trigger recovery segmentation fault
Test case:
host$ adb shell 'echo -en "--update_package=ota_update.zip\n--show_text\n\n" > /cache/recovery/command'
host$ adb reboot recovery

Change-Id: If1781c1f5ad94a273f1cb122b67cedd9fb562433
Signed-off-by: Jin Feng <jin88.feng@gmail.com>
2013-06-04 17:46:24 +08:00
Doug Zongker
da1ebaef0a recovery: save logs from the last few invocations of recovery
Extends the last_log mechanism to save logs from the last six
invocations of recovery, so that we're more likely to have useful logs
even if the device has repeatedly booted into recovery.

Change-Id: I08ae7a09553ada45f9e0733fe1e55e5a22efd9f9
2013-05-21 11:19:15 -07:00
Doug Zongker
7c3ae45ef9 recovery: turn on text display for install errors in debug builds
Hopefully this will reduce the number of OTA "bugs" reported that are
really just someone having changed their system partition,
invalidating future incremental OTAs.

Also fixes a longstanding TODO about putting LOGE() output in the
on-screen display.

Change-Id: I44e5be65b2dee7ebce2cce28ccd920dc3d6e522e
2013-05-21 11:18:38 -07:00
Doug Zongker
6fd59ac07d more font improvements and cleanup
Get rid of the notion of a font's "ascent"; the reference point for
drawing is the top-left corner of the character box rather than the
baseline.  Add some more space between the menu entries and make the
highlight bar around the text.

Replace the default font.png with two images; the build system will
include one or the other based on the resolutions of the device.

Restore the original compiled-in bitmap font, to fall back on when
font.png can't be found (eg, in the charger binary).

Add support for bold text (when a font.png image is used).

Change-Id: I6d211a486a3636f20208502b1cd2aeae8b9f5b02
2013-03-07 13:34:24 -08:00
jt1134
113ee73445 fixes for fakeflash zips
For some reason fakeflash doesn't like to have superuser/su
in /res, move it to its own subdir in /supersu. This allows
a fakeflash zip built with 'make recoveryzip' to work correctly.

Change-Id: I32e2e0f6dba55281d5c917e931c3ef0034964bcb
2013-02-27 18:50:44 +00:00
bigbiff bigbiff
e60683a0d5 use libblkid to get filesystem type
we can now use libblkid to detect exfat
2013-02-25 09:06:46 -05:00
Dees_Troy
d15e3f7def Move removal of stock recovery to shutdown sequence 2013-02-21 14:28:29 -06:00
Dees_Troy
6ef6635ad3 Check for root and root perms and offer to install/fix
Also fix sort order for file selector by date and file sizes

Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
2013-02-21 18:23:43 +00:00
Dees_Troy
6ed34b7f61 Use GUI for ORS instead of console only 2013-01-25 15:10:48 +00:00
Dees_Troy
01b6d0c9be Convert AOSP commands to ORS for encrypted devices
Change-Id: I6a76a51cd9efd7db67d7abeeb26f9bdd0eebf5a9
2013-01-24 19:48:08 +00:00
Dees_Troy
4b20e77c40 Fix problem with AOSP wipe_cache command 2013-01-17 18:50:23 +00:00
bigbiff bigbiff
9c754053b0 Add libtar to TWRP instead of using busybox tar
Add proper mkdosfs tool
Add fuse to TWRP
Add experimental exfat-fuse to TWRP
Convert all system() functions to use new Exec_Cmd function
2013-01-09 09:09:08 -05:00
Kenny Root
cd74108cda resolved conflicts for merge of 78afed1c to jb-mr1-dev-plus-aosp
Change-Id: I861e3a6aa07c448909b2ae54618bba178bd6e457
2012-10-16 17:44:21 -07:00
Kenny Root
7eb7567aa3 Remove HAVE_SELINUX guards
Change-Id: Ia96201f20f7838d7d9e8926208977d3f8318ced4
2012-10-16 12:57:26 -07:00
Dees_Troy
06b4fe97ef Update injecttwrp for Epic 4G Touch 2012-10-16 11:43:20 -04:00
Dees_Troy
d0384ef73e Unmount system after boot, backup, and restore 2012-10-12 12:15:42 -04:00
Devin Kim
6016d08b0c recovery: fix failure to unmount "/cache"
At load_locale_from_cache() function, LOCALE_FILE must get closed
after it is opened and used. Otherwise it causes a failure to
unmount "/cache" after load_locale_from_cache() function is called.

Change-Id: I9cec0f29a8ec4452c8a6a52e2f3c8ce9930d5372
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-10-08 16:34:00 -07:00
Dees_Troy
accddea02d Fix derp with ORS during startup 2012-10-07 18:25:15 -04:00
Dees_Troy
c7c4341ed7 Rename stock recovery file 2012-10-02 23:03:01 -04:00
Dees_Troy
c04dcf7866 Create busybox symlinks during compile 2012-10-02 10:48:22 -04:00
Dees_Troy
83a3b1260d Update ORS and recovery commands 2012-10-01 14:16:43 -04:00
Dees_Troy
01a9b7a7f8 Fix output of version number 2012-10-01 09:01:03 -04:00
Dees_Troy
ce2fe779c0 Revert busybox for CM7 compatibility, add exclamation point to format data 2012-09-28 12:34:33 -04:00
Dees_Troy
3477d7163e Save version number to storage 2012-09-27 15:44:01 -04:00
Dees_Troy
22ad2cc9f7 Create symlinks at compile time for busybox 2012-09-27 15:00:27 -04:00
Dees_Troy
9350b8d6ed Update sdcard partitioning to C++ 2012-09-27 12:40:09 -04:00
Dees_Troy
a58beade0a Port reboot functions to C++ 2012-09-27 09:50:56 -04:00
Dees_Troy
7c2dec8020 Add backup size checking
Converted bootloader.cpp to TWRP and removed AOSP fstab parsing
from startup
2012-09-26 09:50:10 -04:00
Doug Zongker
6c8553dda8 display error state on OTA failure
We need prompt_with_wait() to show either the ERROR or NO_COMMAND
state as appropriate.

Bug: 7221068
Change-Id: I191526cf12630d08b7a8250a2a81e724a4a5d972
2012-09-24 10:40:47 -07:00
Dees_Troy
812660fd1d Add and improve OpenRecoveryScript support
Improve zip finding in ORS engine
Add support for restoring with just a backup name
2012-09-20 10:40:20 -04:00
Dees_Troy
9a4b569e9d Improve adb sideload - use storage vs tmp 2012-09-19 15:11:03 -04:00
Dees_Troy
cfb63ae2b1 Improve adb sideload -- add cancel
Also copy zip from /tmp to storage and remove from /tmp to
prevent running out of RAM.
2012-09-19 14:37:33 -04:00
Dees_Troy
8170a92145 Cleanup extra-functions 2012-09-18 15:44:39 -04:00
Doug Zongker
5fa8c23911 localization for recovery messages
Add images of text for all locales we support.  Make the progress bar
fill the correct way for RTL languages.  (Flip the direction the
spinner turns, too, just for good measure.)

Bug: 7064142
Change-Id: I5dddb26e02ee5275c57c4dc4a03c6d68432ac7ba
2012-09-18 12:37:02 -07:00
Dees_Troy
38bd760b58 Add wipe functions, compiles in CM7, text shows in UI, zips install
Zip install works, had to move mincrypt code into TWRP to prevent
a crash when checking the zip signature.
Added wipe functions
Made it compile in CM7
Made text show up in console and logging
2012-09-14 13:36:32 -04:00
Dees_Troy
32c8eb81af Make text appear in GUI console, Zip install works.
Move TW zip install code to C++ so that it can use the
ui->functions.
Bring in mincrypt code to fix a crash during signature
checking.
2012-09-12 15:14:38 -04:00
Dees_Troy
5112731666 Improve storage size code, mount, unmount
Add flag parsing from recovery.fstab
2012-09-10 11:33:29 -04:00