Commit Graph

57 Commits

Author SHA1 Message Date
Vojtech Bocek
41ae12482b Include libnetd_client in recovery
* Bionic tries to load it, and if it isn't in /sbin and /system
  is mounted, it loads it from there and prevents it from unmouting

Change-Id: I33d0b6ba4503f2822d96033fa26d53e10b8ce1c5
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-01-06 11:36:58 -06:00
Ethan Yonker
d6786b898b Stop building unneeded libs for libblkid
Change-Id: I96d91f2d2e38380ff46a6ff6e2c8c9a245aa0431
2015-01-05 09:01:29 -06:00
Ethan Yonker
bcff146bc9 Build more needed libs for mke2fs
Change-Id: I473f5a0412bf35507a755d485bbdf53fd241748b
2015-01-04 22:01:33 -06:00
bigbiff
7b4c7a681c Update blkid to 2.25.0
Break libblkid into 4 libraries: libblkid, libuuid, libutil-linux and libfdisk.

This should help in later patch updates.

Change-Id: I680d9a7feb031e5c29a603e9c58aff4b65826262
2015-01-05 04:38:42 +01:00
that
183a6f88d0 crypto: remove unused libs and clean up makefile
libsoftkeymaster and its dependencies appear to be unused.

Change-Id: Ib720f5e4d2750a739ba6b65b346c0e167df279d3
2015-01-05 03:14:28 +01:00
Ethan Yonker
e3e8829e40 Update SuperSU to 2.40
The SuperSU install process is getting rather complicated, so we
will modify the install script slightly and use it to install
all the things and stop trying to check to see if root permissions
have been lost like we used to do.

Change-Id: Ibdb64c909d2bd16e12bb35b4f31f572cc29add47
2014-12-18 21:17:26 +01:00
Ethan Yonker
2d11d498ca Fix compiling of dosfstools for arm64
Change-Id: If99d0be4b73cdeb388c6cb1b35a215d3b8b3b58d
2014-12-12 11:43:21 -06:00
Ethan Yonker
738be7a3ff Use one mizip for all
The new minzip did not compile in older trees due to needing
mmap64. For older trees we will just use mmap instead. Remove all
files and code pertaining to minzipold. Updater should now build
properly in older trees as well.

Eliminate use of PLATFORM_VERSION in favor of PLATFORM_SDK_VERSION
which should be more consistent and reliable.

Change-Id: I38d2b604a73d1b17a2072c7d60e990b81ece0c10
2014-12-10 11:54:02 -06:00
Ethan Yonker
38c2ff8e90 Include libext2_quota.so if present for e2fsprogs utilities
Needed starting in 5.0 lollipop for e2fsck, mke2fs, and tune2fs
binaries.

Change-Id: Ie76517df4690f6407cb63d0607c6c0c8a77975e5
2014-12-09 13:42:18 -06:00
Ethan Yonker
1902c79d11 Use linker64 on AArch64
Patch Set 3: Combine into one sed - by bigbiff

Change-Id: Ice3147fae76575f6e09c7df201bcd3f949aa24ea
2014-12-09 04:32:34 +01:00
Ethan Yonker
253368a072 Reduce libs needed for decrypt and clean up old decypt files
Trim cryptfs.c to remove functions that TWRP does not use for
decrypt and remove the need for libfs_mgr from cryptfs.c by
passing some items to cryptfs.c from the partition manager.

Add support for new fstab flags:
encryptable and forceencrypt=/path/to/cryptokey
For example:
flags=forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1
Note that "footer" is the default, so you do not need to set this
flag on devices that use the footer for the crypto key.
Also add mounttodecrypt if you need to mount a partition during
the decrypt cycle for firmware of proprietary libs.

Clean up decrypt and only support one version

Android 5.0 lollipop decrypt should be backwards compatible with
older versions so we will only support one version, 1.3 that came
with 5.0 lollipop.

Remove support for Samsung TouchWiz decrypt. It does not work with
the latest versions of Samsung encryption anyway and it has not
been updated to work with any AOSP decryption higher than 1.1

Change-Id: I2d9c6e31df50268c91ee642c2fa090f901d9d5c9
2014-12-04 17:30:16 +01:00
erikcas
1db013bf28 bootable recovery: we upgraded to 5.0.1
Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
2014-12-03 16:05:35 +01:00
Ethan Yonker
75bf041a8a Make the android-5.0 branch compile in 4.4 to 4.1
Migrate previous minzip to minzipold replacing the existing
minzipold. This will break compatibility with trees that do not
support selinux (ICS and older). Migrate former verifier files to
verifierold.

Add fuse.h to recovery source because older trees do not have it.

Add LOCAL_MODULE_TAGS where needed for 4.1 tree.

Change-Id: Iade57cb2b0115af7fce9f56aa98636b1744a1ef4
2014-12-02 10:34:15 -06:00
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