summaryrefslogtreecommitdiffstats
path: root/prebuilt (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-04-03Use magiskboot to repack the boot partitionEthan Yonker1-0/+9
Set TW_INCLUDE_REPACKTOOLS := true Must also have: AB_OTA_UPDATER := true Use magiskboot and provide GUI options to allow users to repack their existing boot image to install TWRP (or kernels) so we can stop having to provide installation zips for AB devices. There is also an option to try to fix a recovery bootloop if the kernel has been patched to always boot the ramdisk for root, etc. You will need to pull the below repo into external/magisk-prebuilt https://github.com/TeamWin/external_magisk-prebuilt Change-Id: I74196cc6f095a7576d61886dc96cbc18deba9b04
2019-03-23Don't copy local mke2fs.conf for O-MR1Michael Bestas1-7/+9
* It is now copied from system/extras/ext4_utils Change-Id: Ibddcad4928c17bc174390d75708a5382a9262441
2019-03-22prebuilt: Support ubsan libraries of all architecturesSimon Shi1-0/+15
According to the file under './prebuilts/clang/host/linux-x86/clang-4691093/lib64/clang/6.0.2/lib/linux/*.so', these files are supported under different target architectures. This commit would add support to every architecture. Change-Id: I1f88bc06c3f30e6d2f2083ba9b6350b2376d83f2
2019-03-21Fix the long broken format functiondianlujitao1-0/+3
* For EXT2/3: * Align mke2fs options with Android 9.0 fs_mgr_format.cpp. * For EXT4: * Note that make_ext4fs is still in use on Android 8.1 to workaround a FDE encryption bug even though mke2fs has become the default choice. The bug is fixed in Android 9.0+. * For F2FS: * Drop the broken "-r" option, it's never ported to O, explicitly pass number of sectors instead. * Keep all options aligned with Pie fs_mgr. * Check existence before start wiping, as Wipe_EXT4 does. * For all: * Calculate block size at runtime, and reserve the space specified via negative "length" option from fstab. Note that positive length will be ignored. * If the partition has crypto footer, and "length" is not specified in fstab, automatically reverse CRYPT_FOOTER_OFFSET (16384). * Remove the default crypto key location: footer, this is a bad assumption since most partitions don't use encryption! We need to know the real situation to decide whether to reserve crypto footer on format. * If the current action is "wipe" or "change filesystem", wipe crypto footer or block device after mkfs if the partition is unencrypted or undecrypted (e.g., wrong password). * If the current action is "format data", unconditionally wipe crypto footer or block device. Change-Id: I7304a8ee703131ea4a08ab7c60334af28cac28b3
2019-03-20Update FDE decrypt to pie from CAFEthan Yonker1-1/+1
cryptfs.cpp based on CAF tag LA.UM.7.3.r1-05900-sdm845.0 Used CAF because AOSP no longer contains code for qcom's hardware crypto. Change-Id: I921cbe9bed70989f91449e23b5ac3ec1037b7b97
2019-03-20MTP FFS updates:bigbiff bigbiff1-1/+11
This update splits old MTP code and new MTP code from Google into two trees, legacy and ffs. Depending on the SDK level, the build system will select the correct version. The reason for separating the versions out are due to older android trees not supporting the updated MTP code from Google. Most MTP code is from Google, with additions needed from implementing the Java functions in C++ for TWRP and FFS. We assume if you are in android-9.0 or above, your kernel has support for FFS over MTP. Verify that your init.rc is mounting the MTP FFS driver to the proper location. Change-Id: I4b107b239bd9bc5699527f9c8c77d9079f264a7e
2019-03-18prebuilt: Avoid re-linking ARM64 specific library on other architectureslambdadroid1-1/+3
libclang_rt.ubsan_standalone-aarch64-android.so is a library for arm64 and is therefore not available on other architectures, causing the build to fail because there is no rule to build it. Change-Id: Ia4af38f42ba46a233d40e936d43e4c97c449d059
2019-03-07mksh: add mkshrc when using TW_USE_TOOLBOXCaptain Throwback2-0/+33
Fixes broken shell prompt in Terminal and adb shell Before: https://del.dog/7vphlkc After: https://del.dog/vhkjgo8 Add as prebuilt with suffix "_twrp" to avoid conflict with original mkshrc and rename via POST_INSTALL_CMD Prebuilt version adjusts TMPDIR variable from "/data/local/tmp" to "/tmp" for TWRP Change-Id: I42a1b2a8c114f66dbe659c07485f1dfae8a5d314
2019-02-21slot management: add library for slot management.bigbiff bigbiff1-1/+1
Change-Id: I7d0a67bc8e237866485680a5c54443435e7d2737
2019-02-02vold_decrypt: Add android 9.0 supportnijel83-0/+15
* build modified vdc_pie binary with 'checkpw' command support if building with Android 9.0 platform. That command and others we don't care about, are removed from Pie vdc. Our vdc_pie will run if system sdk version is > 27, otherwise system vdc is used. Code adapted from Android 9.0 system/vold/vdc. * include prebuilt vdc_pie(arm, arm64) binary if building with lower than Android 9.0 platform - vdc_pie cannot be build from source with those platforms without additional imports from Android 9.0 * skip vdc "getpwtype" command for Pie - vds communicates with vold directly, no need for connection retries first * add /system/bin/servicemanager to required services * mount per-devive additional partitions needed for decryption listed with device BoardConfig.mk TW_CRYPTO_SYSTEM_VOLD_MOUNT flag like(space separated): TW_CRYPTO_SYSTEM_VOLD_MOUNT := vendor cust odm * add function to backup crypto footer before running vdc commands and restore it after - on Xiaomi Mi Max 3 both Oreo and Pie stock roms vold alters cripto footer when decrypting data in recovery which causes system to ask for crypto password at next reboot although password stays unchanged. Crypto footer backup/restore added as workaround for systems whit ro.build.version.sdk > 25. Also to preserve crypto footer integrity decryption attempts are skipped if footer backup fails to ensure no data loss. Code adapted from https://gerrit.omnirom.org/#/c/android_bootable_recovery/+/31206/ Change-Id: I0a383f3843578fa55595cfea3b7c9c4431646a1a
2019-01-17Add metadata decrypt support for FBEEthan Yonker1-12/+24
Change-Id: Ie0292f4ffea5993a4ae74fa04fc5c8252ca2cfcf
2018-12-23prebuilt: resolve libext2_misc.so dependency for mke2fsVladimir Oltean1-0/+3
* Following error while running mke2fs in TWRP compiled in 8.1+ tree: libc: CANNOT LINK EXECUTABLE "mke2fs": library "libext2_misc.so" not found Change-Id: I786f325229167dbd0d1d5f2a1ea95e9fe15a227e Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
2018-12-21Include weaver library in 9.0 treesEthan Yonker1-0/+3
Change-Id: I0e05e29b43c748d7746dc70428a4eb7664b7d2d4
2018-08-31Decrypt FBE on 9.0 (backwards compatible)Ethan Yonker1-1/+12
Building in 9.0 may require you to add a flag to your twrp fstab with the fileencryption details like: fileencryption=ice:aes-256-heh Verify this against your device's stock fstab of course. Change-Id: If9286f5d5787280814daca9fbc8f5191ff26a839
2018-07-20Remove SuperSUEthan Yonker13-532/+0
Change-Id: I2ca7580bbde5a8903b9ba5c1513ddba887e8d49e
2017-12-19Relink adbd needed in android 8.1nkk711-0/+3
* adbd no longer goes to root/sbin instead it's going to system/bin reference: https://github.com/omnirom/android_system_core/commit/93defc17f376041437e5157a7c4d9e0344441811 Change-Id: Ib2bc5e0bb3ac868741fa3feacac5ef68aa1daa4b
2017-12-12Fix android.hidle.base@1.0 rule for various 8.0 treesEthan Yonker1-1/+3
Change-Id: I57a1a807841b20860c9a1c9523be385b12b6b933
2017-12-04Fix stuck on 'black' screen entering recoverynkk711-1/+1
* In omni-8.0 'android.hidl.base@1.0.so', although properly built does not get copied to the /sbin/ directory for TWRP, resulting in TWRP constantly *trying* to restart with the missing lib: CANNOT LINK EXECUTABLE "/sbin/recovery": library "android.hidl.base@1.0.so" not found Leading to a stuck on "black" screen (or some splash screen, but never even reaching TWRP splash screen). Change-Id: I10a3c3d72c0f141687dbbf552e59fb31c015b278
2017-11-29Better compatibility across 8.0.0 treesEthan Yonker1-4/+10
Change-Id: Ic8200da4e99826736e002a1ab5f9e5f967e84193
2017-11-28FBE for Pixel 2Ethan Yonker1-6/+28
Includes various minor fixes for building in Android 8 trees with r23+ tag Update FBE extended header in libtar to version 2 and include the entire ext4_encryption_policy structure now after translating the policy. See this post for more details: https://plus.google.com/u/1/+DeesTroy/posts/i33ygUi7tiu Change-Id: I2af981e51f459b17fcd895fb8c2d3f6c8200e24b
2017-11-28Fix issues building with LineageOS cryptfs_hwEthan Yonker1-1/+5
Change-Id: Ie22691433aefa3b8819ec14e0349ee12bd88a1c2
2017-11-17Fix mkfs.f2fs build errornkk711-0/+2
* OmniROM 8.0 uses AOSP f2fs-tools which builds a static mkfs.f2fs directly to $(TARGET_RECOVERY_ROOT_OUT)/sbin Change-Id: I364a13e33e71abceab2f9ba1bd3179c2d9672b27
2017-09-15Fix a few build errorsEthan Yonker1-0/+4
Change-Id: I1311e4f9bb2409e856df3d333cc0d6c3f8f097f8
2017-09-12Add libraries needed in 8.0 for e2fsck and tune2fsEthan Yonker1-0/+2
Change-Id: I99fad0cf2de7ff95814eff1a5f8dde59afb4b5c2
2017-06-17twrpDigest refactorbigbiff bigbiff1-0/+1
This patch is to refactor twrpDigest using polymorphism and inheritance to use the same call patterns for creating and reading a digest. Now a library. Use SHA2 from libcrypto. SHA2 is default if device has libcrypto. Change string MD5 everywhere to use digest or Digest instead. Updated string tags to digest. Translation will be required. Switch out digest code into a driver class from partitionmanager. SHA2 is better for digest creation due to decreased collision space compared to MD5 and SHA1. See https://en.wikipedia.org/wiki/SHA-2 Change-Id: I74b5546789990b12aa4ce2e389d25f80a3fe213f
2017-03-07Revert "Fix adb shell in 7.0 tree"Captain Throwback1-3/+0
This reverts commit 0a8a7cebf154f7062174c4fac4a9c836038fbfbc. Change-Id: Icdb1f2e93aeaf35a66b6f67eaff51d9af5fd2e9a
2017-03-06Fix missing libf2fs.so needed by mkfs.f2fsTheStrix1-0/+3
* Relink libf2fs.so in all cases except PLATFORM_SDK_VERSION=23 with no CM_PLATFORM_SDK_VERSION set as 4 or above. Change-Id: I58bcc7daeb2d67d41b8912cea73690d94f26dd56
2017-01-24recovery: adjust mkfs.f2fs locationmaxwen1-1/+1
middle finger ahead Change-Id: I14a036a5a79121056e6185f367fc6d61bcec46d2
2017-01-18SELinux can be assumed for Android 4.4+Matt Mower1-9/+2
Change-Id: I7410a0c8e439eec90a955ee9201efd9a92bb9635
2017-01-12build: AOSP/CM14 fixes (API 24/25, mainly BusyBox-less environment)Hashcode1-1/+1
These changes are needed by any ROM where devices are configured to use TOOLBOX/TOYBOX instead of BUSYBOX (i.e., TW_USE_TOOLBOX := true). Change-Id: I68b88cc9fb857f32864556c4b6c9c8e6ee744051
2017-01-11build: Consolidate the crypto_utils presence testsD. Andrei Măceș1-1/+3
No point checking filesystem repeatedly/check may change in future Change-Id: I0413b07b850f785eb5150c6ed18836cc56e94d6f
2016-12-16Add TWRP app install via TWRP recoveryEthan Yonker2-0/+9
Note: I will have to add a build flag for excluding the app later for watches and maybe Android TV. I will also have to add support in the tablet and watch layouts later. I will merge this for the initial roll out to select devices and finish up later. Change-Id: Ia4ce5522fae542afa1539b10c0691315392a19ab
2016-12-13Support File Based EncryptionEthan Yonker1-0/+12
Change-Id: Ib688ddd0c32d3999590cacd86b6d9b18eac336e9
2016-12-13Add boot slot supportEthan Yonker1-0/+6
Change-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
2016-11-30Fix adb shell in 7.0 treeEthan Yonker1-0/+3
busybox sh does not seem to work properly in 7.0 trees so use mksh for sh instead. Change-Id: Ia33bc3894f929b1348c8714d4ddd00a2671c7e94
2016-08-26Fix compatibility across the boardEthan Yonker1-1/+4
Change-Id: I6376920775ddabb4d4af505fffd86e404403a64a
2016-08-25Make it backwards compatible with 4.4Ethan Yonker1-2/+4
Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
2016-08-22NTFS-3g: migrate to PLATFORM_SDK check insteadJason Riordan1-1/+1
android-6.0 branch of ntfs-3g matches the cm-13.0 version now, check platform version instead of CM_SDK version. Change-Id: Ic4aed613084d530c814611678f70d75260b9adc4
2016-08-01ADB: Add adb backup for TWRP.bigbiff1-1/+3
Functionality for client side to backup tar and image streams over adbd to the client under backup.ab. Using adb backup on the client side you can backup the partitions TWRP knows about. On the client side you can do the following: adb backup -f <filename> --twrp <options> where options are --compress: compress data system: backup system cache: backup cache data: backup data boot: backup boot etc for each partition. You can string multiple options, i.e. adb backup -f <filename> --twrp --compress cache system data adb backup in TWRP will take any option corresponding to TWRP fstab partitions, e.g. efs boot as well. If you do not specify the filename with the -f option, adb will backup your data to a filename backup.ab on the client. You can then rename the file and encrypt it with desktop tools. If you don't want to use command line arguments: adb backup --twrp will bring up the gui and allow you to choose partitions from the backup page. To restore the backup use the following convention: adb restore <filename> Structures are used to store metadata in binary inside of the file itself. If the metadata structure is modified, update the adb version so that it will invalidate older backups and not cause issues on restore. When restoring, we currently do not support picking specific partitions. It's all or nothing. Change-Id: Idb92c37fc9801dc8d89ed2a4570e9d12e76facf8
2016-03-18Fix RELINK of toybox for twrpsndnvaps1-1/+1
Change-Id: Ia609eec928278fc63e699d42799f74b4ada82221 Signed-off-by: sndnvaps <sndnvaps@gmail.com>
2016-02-15Fix up logd make file rulesEthan Yonker1-5/+5
logd, the init.recovery.logd.rc, and other related files were included by default if your device configs specified TARGET_USES_LOGD := true which would be the case for any device that has a full ROM tree instead of a minimal TWRP tree. Change-Id: Ia1e55703631f0f22beab2f4d4479599b88539e1a
2016-02-04Add TWRP flags to enable logd and/or logcat in recoveryCaptain Throwback1-1/+8
Developers and device maintainers may find it useful to have access to logcat in recovery. This patch set adds the following build flags: TARGET_USES_LOGD - This is an Android build flag that enables logd support. Devices that don't have built in kernel logging to dev/log/* will need this flag for logcat. We'll also use this to include the necessary support files for logd in TWRP. TWRP_INCLUDE_LOGCAT - This enables logcat support in recovery. I pulled the init entries from my HTC One M8 GPE boot.img, so I'm not certain whether these will work for all devices or if they're all necessary. Feedback is welcome. PS2: Use "TARGET_USES_LOGD" instead as this flag already exists, and previous flag was named incorrectly (logd isn't kernel logging) PS3: Start logd service on load_persist_props action, needed for 6.0+ PS4: More info on "TARGET_USES_LOGD" flag as related to liblog compilation can be found at the below links: https://android.googlesource.com/platform/system/core/+/android-6.0.1_r10/liblog/Android.mk#27 https://android.googlesource.com/platform/system/core/+/android-6.0.1_r10/liblog/Android.mk#50 Whether or not this flag is needed for logcat in TWRP is dependent on whether liblog was compiled with this flag. PS5: Update commit message to better describe "TARGET_USES_LOGD" flag PS6: Another commit message update Change-Id: Iaac6c6c822dc93fbe4b6eadcf24eef6995dd6b50
2016-02-03allow flashing sparse imagesHashBang1-0/+1
if the image has the right magic bytes to be a sparse image, use simg2img to flash the image create a rule to make a fully dynamic simg2img which results in a much smaller increase in gzip ramdisk size (2KB vs 40KB) Change-Id: I1b0f6bc127da46103888b1154a9bddd8ac02c01d
2016-02-03Flag to enable jpg supportGreg Wallace1-1/+3
Builder using a custom theme may have need for this. Add a flag to easily enable jpg support. Change-Id: Ica74f8cb1312d3193105f2201a5cf8073e2edc82
2016-01-30Add compare xml script and move/update relink-binaries.shEthan Yonker1-19/+0
Add script to compare string values between 2 language xml files which will make it easier to identify strings that are missing between the 2 files. Move relink-binaries.sh to scripts folder and update it to handle relinking 64 bit binaries. Change-Id: Ia7a8bdbeea02256b3b864ab77e15912795275d33
2016-01-29Replace fix permissions with fix contexts for emulated storageEthan Yonker1-9/+0
Fix permissions rarely fixed anything on more recent versions of Android and usually made things worse. Instead we will replace it with a more dumbed down option that should fix contexts on /data/media with a few improvements to ensure that contexts get fixed for multiple users and on adopted storage. Change-Id: If5523781936a0b04196e2ad871cae767ebae2583
2016-01-27ifdef and comment out libjpegEthan Yonker1-1/+1
Chances are there are not many themes in widespread use that are using jpeg images, but this will be easy to revert back or even just temporarily modify if we need jpeg support in a pinch. Change-Id: If17b05ce3ebccce724fd74b26ed8ea91b287c3cf
2016-01-25Adopted Storage supportEthan Yonker1-0/+1
-Detects, decrypts, and mounts an adopted SD card if a secondary block device is defined (usually mmcblk1) -Handles unified storage -Displays the adopted storage in MTP along with internal -Factory Reset - wiped just like a data media device, we retain the keys folder and the storage.xml during a factory reset -Backup / Restore -Disable mass storage when adopted storage is present -Read storage nickname from storage.xml and apply it to display names in the GUI -Read storage.xml and determine what storage location is in use for /sdcard and remap accordingly libgpt_twrp is source code mostly kanged from an efimanager project. It is GPL v2 or higher, so we will opt for GPL v3. Change-Id: Ieda0030bec5155ba8d2b9167dc0016cebbf39d55
2016-01-22Add zip and unzip when using toyboxdianlujitao1-0/+6
Change-Id: I75500bfe4e7adf66c5538597d79ed0539e7bb551 Signed-off-by: dianlujitao <dianlujitao@gmail.com>
2016-01-20Fix SuperSU local dependenciesEthan Yonker2-1/+2
Change-Id: Ia5fadd8254340b21a54565e2c7d2b54aa70f19f3
2016-01-14Improve sdcard partitioning processEthan Yonker2-7/+23
-Improve code for partitioning sdcards -Allow user to select a device for partitioning (must be removable) -Use sgdisk to partition sdcards -Set default sizes for ext and swap to 0 -Change increments for ext to 256MB and swap to 64MB Note: sgdisk is included in 6.0. I have included a static prebuilt sgdisk for trees that do not have sgdisk, however the prebuilt sgdisk is a decent bit larger than the old parted binary. The old parted binary is quite old at this point and we only have it for armv7a. sgdisk should be maintained by AOSP and can be built from source so it should work across architectures. Change-Id: Ib80882d9b5776e5e9358b11340fba392e6f1ae09
2016-01-04ntfs-3g: Fix cm-13 compatibilityGreg Wallace1-0/+8
CM-13 tree completely changes the names of the binaries that are created for ntfs-3g. If we are using a CM-13 tree (CM SDK 4) make sure the dependencies and relinking are adjusted accordingly. Also, adapt partition code so it can make use of whichever set of binaries are present. Change-Id: I810caafa818f18281fd29dcf8f31b3053133b5ed
2015-12-22exfat: Build fsck and update path to mkfsMatt Mower1-0/+1
* Usage of fsck.exfat is already included in partition.cpp, but the tool is missing. * Update the path to mkexfatfs so the button is available when changing filesystem. Change-Id: I5f4e27357c6b5a8606043d1bdc2488cc83e55d90
2015-12-22f2fs: Update make rules for CM compatibilityMatt Mower1-6/+7
* Make sure fsck.f2fs and mkfs.f2fs are built for CM12.1/13.0 * Add CM13.0 rule for relinking mkfs.f2fs * Minor cleanup of nested if/else in prebuilts Note on CM SDKs: 3=cm-12.1, 4=cm-13.0 I'm not yet sure whether it is possible that the CMSDK increments within the same branch of CM. Change-Id: I7b521159a8b5d0e0ea639f5e0fdd885100612df0
2015-12-08Rename libexfat target to prevent conflictsEthan Yonker1-1/+1
Change-Id: I5d2774c273a90c1f02c074f3c947c13b265972b3
2015-11-26Update dosfstoolsMatt Mower1-3/+3
* Version 3.0.28 * Update filenames in source * Remove unnecessary symlink to fsck * Commit "Recode short filenames from DOS codepage (default 437)." has been reverted since we do not have access to iconv * Commits cherry-picked on top of 3.0.28: - mkfs.fat: fix incorrect int type - Prevent out of bound array read in date_dos2unix() Change-Id: I50310235c62ec2e6bc90afcd10f2814d3afb5113
2015-10-09Fix mkfs.f2fs error in 6.0 treesEthan Yonker1-3/+7
Change-Id: I1217094f0e336445eb4dd5f46242d9719525ffbd
2015-07-14Add ntfs-3g supportEthan Yonker1-0/+5
Add support for mounting ntfs via ntfs-3g and support for wiping and repairing ntfs partitions. Change-Id: I82dc4626f459bb93b86eb9ebba64ad3a6560781b
2015-07-14Update path for libcryptfs_hw to proper variableCaptain Throwback1-1/+1
Change-Id: Ie91d161f4e439a870534639f44a03df22f4fe39a
2015-05-28Add resize2fs and ability to run resize2fs via GUIEthan Yonker1-0/+1
Note: Only works on ext2/3/4 partitions. Only tested on ext4. We can use this in some cases to resize the data partition if an incorrect fstab caused recovery to not reserve the 16KB for a crypto footer. Sometimes the BoardConfig for a custom ROM does not have the correct size for the system partition and if the ROM flashes a raw system image, that image will not take up the full block device. Running resize2fs can fix the size and may allow more room in the system partition for customizations like busybox or a larger gapps package. Sometimes flashing a factory image may flash userdata with an image with a file system that does not take up the full size of the block device (e.g. factory images for the Nexus 6 will flash userdata with a ~24GB userdata image, wasting ~30GB of space). Using resize2fs we can easily fix this issue without having to do a full format data. Change-Id: I631f5c6f567bbc6a9241e5dd95f1e435820a1b13
2015-05-15Support Qualcomm hardware decryptDees Troy1-0/+3
Change-Id: I121ef0f5da209be48f6d87559d539c7fc6d85336
2015-03-13Make TWRP compile for x86-64 CPU targetEthan Yonker1-1/+6
Also add a short while loop to wait for fb0 to be created as was needed on the x86-64 target for the Android emulator. Change-Id: Ib1b87bea028ac3eac0541283334a0157cdfbce11
2015-03-11Handle sdk version 22 as lollipopmar-v-in1-2/+2
Change-Id: I87c17715d7acdf6ae15f8a39e3e316715bade6f3
2015-01-22Use /twres instead of /res for theme resourcesDees Troy1-8/+8
AOSP and other ROM trees now do a rm -rf of the res folder during the ramdisk creation process that removes the TWRP resources. Using /twres instead of /res works around this issue making TWRP more compatible with AOSP and other build trees. Change-Id: I0d4c7e06ca381ac5aa0069b6f2b8c47f7dec49e7
2015-01-22Include libpcre if presentDees Troy1-0/+3
Change-Id: I51bdabbd5b2c2263f3f72cdd2ffcba2bc97e0c43
2015-01-22Remove fibmap.f2fs from relinkingDees Troy1-2/+0
Change-Id: Ibf43367446782642f41d437d1d97d62fc7dbb185
2015-01-06Include libnetd_client in recoveryVojtech Bocek1-0/+2
* 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-05Stop building unneeded libs for libblkidEthan Yonker1-2/+0
Change-Id: I96d91f2d2e38380ff46a6ff6e2c8c9a245aa0431
2015-01-05Build more needed libs for mke2fsEthan Yonker1-0/+6
Change-Id: I473f5a0412bf35507a755d485bbdf53fd241748b
2015-01-05Update blkid to 2.25.0bigbiff1-1/+3
Break libblkid into 4 libraries: libblkid, libuuid, libutil-linux and libfdisk. This should help in later patch updates. Change-Id: I680d9a7feb031e5c29a603e9c58aff4b65826262
2015-01-05crypto: remove unused libs and clean up makefilethat1-3/+0
libsoftkeymaster and its dependencies appear to be unused. Change-Id: Ib720f5e4d2750a739ba6b65b346c0e167df279d3
2014-12-18Update SuperSU to 2.40Ethan Yonker11-6/+480
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-12Fix compiling of dosfstools for arm64Ethan Yonker1-6/+3
Change-Id: If99d0be4b73cdeb388c6cb1b35a215d3b8b3b58d
2014-12-10Use one mizip for allEthan Yonker1-2/+2
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-09Include libext2_quota.so if present for e2fsprogs utilitiesEthan Yonker1-0/+3
Needed starting in 5.0 lollipop for e2fsck, mke2fs, and tune2fs binaries. Change-Id: Ie76517df4690f6407cb63d0607c6c0c8a77975e5
2014-12-09Use linker64 on AArch64Ethan Yonker2-1/+4
Patch Set 3: Combine into one sed - by bigbiff Change-Id: Ice3147fae76575f6e09c7df201bcd3f949aa24ea
2014-12-04Reduce libs needed for decrypt and clean up old decypt filesEthan Yonker1-15/+0
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-03bootable recovery: we upgraded to 5.0.1erikcas1-2/+2
Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
2014-12-02 Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker1-9/+16
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-11-18Add flag for including additional files built from source in TWRPEthan Yonker1-0/+3
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-17Make libmincrypttwrp a shared libraryEthan Yonker1-1/+1
Change-Id: I8c3f084fc34b00edb4cd1b652290df8bc80ea1db
2014-11-12Add lollipop decrypt supportEthan Yonker1-0/+15
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-12Make TWRP compile for arm64Ethan Yonker1-6/+11
-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-07Add new needed libs for 5.0 recoveryEthan Yonker1-0/+6
Change-Id: I9444e50b32517aebeca5ff3644c1c2f0dfff9d29
2014-11-06Remove libcorkscrewEthan Yonker1-1/+2
Change-Id: Ib93b934c6154a0a8955eb66c1bb0eed8aff10e34
2014-11-03Remove dependence on build hax in makefilesMatt Mower1-1/+0
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-10-14Add support for TrueType fontsVojtech Bocek1-0/+4
* 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-09Fix exfat-fuse handlingDees Troy1-0/+1
Change-Id: Iac1966a1c5bfcb627e1bee7100c4b5d069b0a5b7
2014-10-07Fixes for exfat-fuseCaptain Throwback1-1/+4
Change-Id: I46a1e7bf115c45616774b0571b17e38777ba87f8
2014-09-03add mtp responder to TWRP.bigbiff bigbiff1-0/+10
Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
2014-08-09Add command line capabilitiesEthan Yonker1-0/+3
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-06-04Whitespace and minor code cleanupMatt Mower4-26/+26
This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
2014-05-31Add script to convert TrueTypeFonts to TWRP's .dat formatVojtech Bocek1-0/+198
Change-Id: I3d6cc65a83b7da9428adf37804cf9cbd0df99492 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-04-04Add option to build TWRP with toolbox instead of busyboxEthan Yonker1-1/+5
Makes a smaller TWRP Uses mksh for shell Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
2014-02-08Update SuperSUEthan Yonker2-6/+4
Change-Id: I0f450357595e7f5f56a7c120b899101faf7f6360
2013-11-04Add reboot binary if it exists to recoveryDees Troy1-0/+3
Change-Id: I7efdba5cf4addf0036ea04ab76a8ecc2c3456e2a
2013-10-24Add toolbox_recovery rulesDees Troy1-0/+1
Build special limited toolbox with SELinux tools for recovery Change-Id: Ifc76a6bd0468a72081f15ede2a68adf48af8a0f2
2013-10-16Add toolbox_recovery rulesDees Troy1-0/+1
Build special limited toolbox with SELinux tools for recovery Change-Id: Ifc76a6bd0468a72081f15ede2a68adf48af8a0f2
2013-09-12Make SELinux automatic if presentDees Troy1-1/+1
2013-08-30Update SuperSU for 4.3 SELinux, 2.6.1.0Dees_Troy5-0/+39
Change-Id: Ib7f882db8a8c61d1156c03468208205124132b6c
2013-08-29Change to use HAVE_SELINUX build flagDees_Troy1-1/+4
2013-08-29Initial f2fs supportDees_Troy1-0/+5
Need to add this to your source tree: https://github.com/razrqcom-dev-team/android_external_f2fs-tools Change-Id: I3ee9ebbb617259655518f8ea356ce7b8c246cd4d
2013-08-24Add SELinux supportDees_Troy1-1/+3
Change-Id: I11e1a3d018d921d96ba08915925b14bf633be6ed
2013-08-11Add libselinux for CM10.2 treeDees_Troy1-0/+3
Change-Id: I94979806935546fa40a87611be5185c14b557377
2013-08-11Remove libjpegtwrp and use CM provided libjpegDees_Troy1-0/+1
2013-07-01Update SuperSU binaryDees_Troy1-0/+0
2013-06-22Support encrypted backup filesDees_Troy1-0/+15
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-04-05Tweak libsDees_Troy1-6/+0
2013-04-04Add new SliderValue GUI widgetVojtech Bocek1-1/+1
Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
2013-04-04Move all AOSP code out of recovery binaryDees_Troy1-2/+13
Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
2013-02-27Add fast scroll bar to fileselectorVojtech Bocek1-1/+5
Also fix build problems with libblkid in CM7 Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
2013-02-27fixes for fakeflash zipsjt11341-3/+3
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-21Check for root and root perms and offer to install/fixDees_Troy3-0/+20
Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
2013-01-28exFAT improvements, fixesDees_Troy1-2/+2
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-19change fuse to be compiled with TW_INCLUDE_FUSE_EXFATbigbiff bigbiff1-2/+2
update exfat_fuse to newest updates Always compile mkexfatfs
2013-01-12remove relink files for samsung encryption libraries.bigbiff bigbiff1-5/+0
2013-01-10Add libsparse if it existsDees_Troy1-0/+3
2013-01-09Add libtar to TWRP instead of using busybox tarbigbiff bigbiff1-0/+9
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-08Add Samsung TouchWiz decryptiona39552691-0/+5
Change-Id: I418680e59372160dabfe3e2d5f0208229aa151ae
2012-10-02Create busybox symlinks during compileDees_Troy2-23/+0
2012-09-28Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy2-0/+23
2012-09-27Create symlinks at compile time for busyboxDees_Troy3-78/+0
2012-09-27Update sdcard partitioning to C++Dees_Troy2-667/+0
2012-09-26Fix permissions updatesDees_Troy1-352/+360
Also redirect stderr output on terminal commands for display in GUI console
2012-09-17Update backup and restore code, adb sideloadDees_Troy1-0/+1
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-14Move to shared libmincryptDees_Troy1-0/+1
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-14Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy1-0/+3
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-12Make text appear in GUI console, Zip install works.Dees_Troy1-0/+5
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-05TWRP-ify AOSP codeDees_Troy19-0/+1450
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