Commit Graph

44 Commits

Author SHA1 Message Date
Ethan Yonker
0e67837dd0 Add flag for including additional files built from source in TWRP
Some devices may need additional binaries or libs that TWRP
normally does not need included in /sbin
Use TW_RECOVERY_ADDITIONAL_RELINK_FILES to build them from source
and get them added to the recovery ramdisk.
For example, Nexus 9 needs libc++ included in order to decrypt
the data partition. The following will build it from source and
include it in TWRP:
TARGET_RECOVERY_DEVICE_MODULES := libc++
TW_RECOVERY_ADDITIONAL_RELINK_FILES := \
    out/target/product/volantis/system/lib/libc++.so

Change-Id: I147c0d5569c83514d2e50226ecc50e80bf8aac36
2014-11-18 12:17:10 -06:00
Ethan Yonker
560e65f899 Make libmincrypttwrp a shared library
Change-Id: I8c3f084fc34b00edb4cd1b652290df8bc80ea1db
2014-11-17 11:37:20 -06:00
Ethan Yonker
4eca40d7d8 Add lollipop decrypt support
Kang in cryptfs.c and cryptfs.h from vold.
Use TW_INCLUDE_L_CRYPTO := true to enable.
Ramdisk must contain the normal fstab file in the root in the
usual format of:
fstab.{ro.hardware}
For examble for Nexus 5:
fstab.hammerhead
Or on many Qualcomm devices:
fstab.qcom

Tested against Android 5.0 lollipop on Nexus 7 2012 grouper. Not
sure if or how this will work when we are dealing with a device
with a hardware keystore. Long term we need to add a GUI element
to allow entering a pattern. For now you can decrypt a pattern
unlock by converting the dots to numbers in the following format:
123
456
789

So an upper-case L would translate to 14789 as a password entered
on the keyboard.

Change-Id: I02c29e1f1c2eb29bf002c9fe0fc118357300b5b3
2014-11-12 18:07:24 +01:00
Ethan Yonker
bcc502cff9 Make TWRP compile for arm64
-Remove dosfstools for arm64 until we can make it compile
-Fix TW_USE_TOOLBOX flag to work again
-Fix symlinking and handling of sh when using mksh
-Fix legacy properties to find futex_wake function
-Fix libcrecovery to not use bsd_signal anymore
-Fix rules for building with regards to libcrecovery
-Update toolbox_recovery rules to compile tools in lollipop
-Fix a few compile errors specific to arm64

Testers report that TWRP does not boot on Nexus 9 and we fail to
get a shell for adb shell. At least it compiles without errors.

Change-Id: I286be8628defb60cc527b8a548c0bdfcb0ebb574
2014-11-12 11:03:50 -06:00
Ethan Yonker
67eb72ae4d Add new needed libs for 5.0 recovery
Change-Id: I9444e50b32517aebeca5ff3644c1c2f0dfff9d29
2014-11-07 10:44:37 -06:00
Ethan Yonker
c5717479dc Remove libcorkscrew
Change-Id: Ib93b934c6154a0a8955eb66c1bb0eed8aff10e34
2014-11-06 09:07:40 -06:00
Matt Mower
031163b2c6 Remove dependence on build hax in makefiles
Update makefiles to no longer rely on INTERNAL_RECOVERY_FILES. Define
LOCAL_ADDITIONAL_DEPENDENCIES instead.

Set LOCAL_LDFLAGS to properly link recovery executable.

Change-Id: I4542104c69399b5a19674b9772ab89c3709efa72
2014-11-03 13:36:03 -06:00
Vojtech Bocek
76ee903d84 Add support for TrueType fonts
* Keeps original font system in place
* Uses the same API as original font system:
   - You can render only one line at a time
   - You can only use one font and color for one gr_text* call
* Caches all rendered text, with a string cache limited to 400
  entries, then it trucates to 250, which results in memory
  usage hovering around 5-10MB

Change-Id: I36107b9dcd8d57bae4486fce8b8f64e49ef3d906
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-10-14 15:06:56 +02:00
Dees Troy
b4bd697f27 Fix exfat-fuse handling
Change-Id: Iac1966a1c5bfcb627e1bee7100c4b5d069b0a5b7
2014-10-09 18:47:00 +00:00
Captain Throwback
6a1acf2ce4 Fixes for exfat-fuse
Change-Id: I46a1e7bf115c45616774b0571b17e38777ba87f8
2014-10-07 13:48:25 -05:00
bigbiff bigbiff
c7eee6fef0 add mtp responder to TWRP.
Big thanks to Dees_Troy for helping with the implementation.

Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
2014-09-02 21:44:49 -04:00
Ethan Yonker
03a42f6c6a Add command line capabilities
Allows sending openrecoveryscript commands to TWRP via shell.
This may be handy for visually impaired users, for various one
click utilities to drive TWRP commands from a computer, for using
TWRP when a catastrophic hardware failure like a shattered screen
prevents you from being able to use touch, or even on devices like
a TV stick where touch and USB mouse input is unavailable.

This patch also includes a few minor changes to openrecoveryscript
including proper support for rebooting via the script and for
decrypting the device via the command line.

Change-Id: I796ad168efdd2da9c25334ac93d1079daaa7b0bc
2014-08-09 07:49:35 -05:00
Matt Mower
fb1c4ffaaf Whitespace and minor code cleanup
This is by no means comprehensive, but is quite a bit better already.

Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
2014-06-04 09:13:37 -05:00
Ethan Yonker
5c9336924f Add option to build TWRP with toolbox instead of busybox
Makes a smaller TWRP
Uses mksh for shell

Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
2014-04-04 11:28:14 -05:00
Dees Troy
0226cd55ab Add reboot binary if it exists to recovery
Change-Id: I7efdba5cf4addf0036ea04ab76a8ecc2c3456e2a
2013-11-04 14:13:07 +00:00
Dees Troy
8d66f8bda9 Add toolbox_recovery rules
Build special limited toolbox with SELinux tools for recovery

Change-Id: Ifc76a6bd0468a72081f15ede2a68adf48af8a0f2
2013-10-16 19:46:29 +00:00
Dees Troy
4bf3b0d804 Make SELinux automatic if present 2013-09-12 10:38:15 -05:00
Dees_Troy
a7939bbdc8 Update SuperSU for 4.3 SELinux, 2.6.1.0
Change-Id: Ib7f882db8a8c61d1156c03468208205124132b6c
2013-08-30 01:53:54 +00:00
Dees_Troy
e3850a3fa6 Change to use HAVE_SELINUX build flag 2013-08-29 18:33:47 +00:00
Dees_Troy
e5017045b5 Initial f2fs support
Need to add this to your source tree:
https://github.com/razrqcom-dev-team/android_external_f2fs-tools

Change-Id: I3ee9ebbb617259655518f8ea356ce7b8c246cd4d
2013-08-29 16:58:38 +00:00
Dees_Troy
a95f55c3ef Add SELinux support
Change-Id: I11e1a3d018d921d96ba08915925b14bf633be6ed
2013-08-24 07:42:30 -05:00
Dees_Troy
f2280ffd42 Add libselinux for CM10.2 tree
Change-Id: I94979806935546fa40a87611be5185c14b557377
2013-08-11 13:41:48 +00:00
Dees_Troy
930bf01caf Remove libjpegtwrp and use CM provided libjpeg 2013-08-10 22:19:03 +00:00
Dees_Troy
83bd483f3d Support encrypted backup files
Also includes features merged from:

Update twrpTar by kokotas

Revised function entryExists().
Added function to get archive's uncompressed size.
Added option to exclude item(s) from the archive.
Revised forks()

http://review.teamw.in/#/c/590/

Change-Id: I01fa2c81643161984eff2625247af75990684bd9
2013-06-22 16:16:55 -05:00
Dees_Troy
66fc8b5887 Tweak libs 2013-04-05 19:42:15 +00:00
Vojtech Bocek
85932344cd Add new SliderValue GUI widget
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
2013-04-04 18:59:08 +00:00
Dees_Troy
2673cec07a Move all AOSP code out of recovery binary
Improves license compatibility between GPL and Apache

Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
2013-04-04 18:57:34 +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
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
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
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
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
bigbiff bigbiff
5c9f677e63 remove relink files for samsung encryption libraries. 2013-01-12 15:31:17 -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
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
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
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