Commit Graph

75 Commits

Author SHA1 Message Date
bigbiff bigbiff
cdcfee48b9 use md5.c for computation of md5sums
create a framework for computing digests and reading digests in TWRP
add space for backwards compatibility with bb md5sum
Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
2013-03-07 08:07:34 -05:00
Dees_Troy
f33b49015a Add option for custom battery path 2013-03-01 00:51:39 +00:00
Vojtech Bocek
7cc278bb99 Add fast scroll bar to fileselector
Also fix build problems with libblkid in CM7

Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
2013-02-27 21:59:21 +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
2f9117af30 Configurable timeout and brightness settings
Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
2013-02-20 09:35:23 -06:00
ChampionSwimmer
cf33e4dbcd support devices without bootpartition
if device has no /boot partition, then add the following flag in BoardConfig.mk

TW_HAS_NO_BOOT_PARTITION

Signed-off-by: ChampionSwimmer <android@championswimmer.tk>

Change-Id: I92b36b2e6ca690e2422b36004ae9bb315d24a7c2
2013-02-19 18:20:45 +00:00
Anatoly Smaznov
10c11f67cf Add TW_USE_MODEL_HADWARE_ID_FOR_DEVICE_ID parameter for correct model identification
Change-Id: Ic6440c624b5cfbdb0f24681461748a0da16bf95e
2013-02-19 17:20:04 +00:00
Dees_Troy
e34c133ec6 Add write buffer for tar writes
update fuse to 2.9.2

catch return from unlink so that we don't print error messages when things work
Change-Id: I1115039a0fa5d9d73f78ef1abd79755d7ffd9d96
2013-02-07 08:21:17 -05:00
Dees_Troy
3f5c4e8dfe Fix fail over to vfat from exfat
Fix issues with MD5 checking using chdir and leaving the working
dir in a subfolder that prevented unmounting sometimes.

Change-Id: I01a563d722f474297ed3f7a30064c3a61748ade3
2013-02-01 16:56:34 +00:00
Dees_Troy
b05ddeedd3 exFAT improvements, fixes
Move Exec_Cmd to libcrecovery __popen
Provide opt out build flag for exFAT
Default fstype to exfat on external storage if exfat support is
present and fstype is vfat or auto
Fix invalid unmount errors
Improve handling of unencrypted sdcards on Samsung devices
2013-01-28 20:45:11 +00:00
bigbiff bigbiff
1b9c7be027 move libexfat and fuse to be compiled with mkexfatfs 2013-01-22 15:04:38 +00:00
bigbiff bigbiff
31f0e5fa22 change fuse to be compiled with TW_INCLUDE_FUSE_EXFAT
update exfat_fuse to newest updates
Always compile mkexfatfs
2013-01-19 10:23:42 -05:00
Dees_Troy
4546fe778d Add libsparse if it exists 2013-01-10 14:33:27 +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
a3955269
6ff55cefd0 Add Samsung TouchWiz decryption
Change-Id: I418680e59372160dabfe3e2d5f0208229aa151ae
2013-01-08 20:09:56 +00:00
Sergey 'Jin' Bostandzhyan
80a90edd47 Work around MEMERASE ioctl for rk3066 compatibility
Due to a kernel bug and no available sources we have to work around the
MEMERASE ioctl - if used, it hangs and never returns. I straced the original
recovery executable and could see that it is simply calling write() with a
bunch of zeroes instead of using MEMERASE.

Added a hack that does the same and now the resulting TWRP recovery image works.

Change-Id: I1b1c1c9e870e350776346bdca5d442c7ef565aa0
2013-01-05 00:23:06 +01:00
bigbiff bigbiff
a0f8a59aa1 redo fix permissions in c++ for faster changes 2012-10-09 21:01:03 -04:00
Dees_Troy
c04dcf7866 Create busybox symlinks during compile 2012-10-02 10:48:22 -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
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
Dees_Troy
9df963c9cd Convert makelist to C++ 2012-09-26 09:02:40 -04: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
8170a92145 Cleanup extra-functions 2012-09-18 15:44:39 -04:00
Dees_Troy
43d8b00770 Update backup and restore code, adb sideload
Fixed a problem with using make_ext4fs by making its lib
a dynamic lib.
Added ADB sideload zip install feature - no way to cancel it yet.
Improve backup and restore code.
2012-09-17 16:06:12 -04:00
Dees_Troy
b9d88acdc0 Move to shared libmincrypt
Remove mincrypt source from TWRP and add rule to make
libmincrypt as a shared library.
No more crashes during zip signature verification and
less code to maintain in TWRP.
2012-09-14 14:34:26 -04: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
fdf5fcc344 Move device ID code to data manager 2012-09-11 10:27:49 -04:00
Dees_Troy
7d15c25b3a Hax to make it boot 2012-09-05 20:47:21 -04:00
Dees_Troy
51a0e82eb2 TWRP-ify AOSP code
Pull in most TWRP sources
Stub out partition management code
Make it compile -- probably will not boot
Kind of a mess but have to start somewhere
2012-09-05 15:24:31 -04:00
Joe Onorato
4eeb379886 Use the static version of libsparse
Change-Id: I664f8dc7939f8f902e4775eaaf6476fcd4ab8ed2
2012-07-23 19:14:30 -07:00
Joe Onorato
6396e70d3f Multiple modules with the same name are going away.
Change-Id: I4154db066865d6031caa3c2c3b94064b2f28076e
2012-07-21 15:41:15 -07:00
Colin Cross
cde94f309c Link against libsparse
libext4_utils requires libsparse, link against it as well.

Change-Id: I4d6aec0e5edcf1ed42118b7b77adcded2858d3dd
2012-07-17 17:59:47 -07:00
Kenny Root
41dda82d84 resolved conflicts for merge of 0b1fee1b to master
Change-Id: I2e8298ff5988a96754f56f80a5186c9605ad9928
2012-03-30 21:26:01 -07:00
Stephen Smalley
779701db51 Extend recovery and updater to support setting file security contexts.
Extend minzip, recovery, and updater to set the security context on
files based on the file_contexts configuration included in the package.

Change-Id: Ied379f266a16c64f2b4dca15dc39b98fcce16f29
2012-03-30 09:32:46 -04:00
Elliott Hughes
74a6279eb4 libz is a superset of libunz, so we don't need both.
Change-Id: I082995c338feaf5d11288300768624cd51b027a4
2012-01-30 17:05:07 -08:00
Stephen Smalley
1a11449495 Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used.
libext4_utils now calls libselinux in order to determine the
file security context to set on files when creating ext4 images.

Change-Id: I09fb9d563d22ee106bf100eacd4cd9c6300b1152
2012-01-24 15:16:31 -05:00
Doug Zongker
9270a20a80 support "sideload over ADB" mode
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
2012-01-10 10:18:17 -08:00
Doug Zongker
32a0a47a59 move key processing to RecoveryUI
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
2011-11-04 14:09:48 -07:00
Doug Zongker
daefc1d442 C++ class for device-specific code
Replace the device-specific functions with a class.  Move some of the
key handling (for log visibility toggling and rebooting) into the UI
class.  Fix up the key handling so there is less crosstalk between the
immediate keys and the queued keys (an increasing annoyance on
button-limited devices).

Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
2011-10-31 15:51:07 -07:00
Doug Zongker
b88aea8a89 temporarily remove verifier_test binary
Change-Id: I61f249861b27180225fb786901275d2da611531b
2011-10-31 14:43:43 -07:00
Doug Zongker
211aebc4e0 refactor ui functions into a class
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
2011-10-31 14:15:02 -07:00
Doug Zongker
28ce47cfa6 turn recovery into a C++ binary
Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
2011-10-31 10:24:09 -07:00
Jeff Brown
b0462e6ae2 Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Ib465fdb42c8621899bea15c04a427d7ab1641a8c
2011-07-11 22:11:45 -07:00
Ying Wang
4c05d95112 Fix x86 build.
Change-Id: Iada6268b0a72ee832113ea397334cc7950a37051
2011-02-08 19:51:07 -08:00
Doug Zongker
540d57f25a remove encrypted filesystem code from recovery
This was never used; encrypted filesystems are being done a different
way now.

Change-Id: I519c57b9be44d001f0b81516af7bfc252069892b
2011-01-18 13:36:58 -08:00
Doug Zongker
cc8cd3f3ca remove the notion of "root path"; support mixed flash types
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
2010-09-21 14:13:45 -07:00