summaryrefslogtreecommitdiffstats
path: root/prebuilt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* prebuilt: Support ubsan libraries of all architecturesSimon Shi2019-03-221-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
* Fix the long broken format functiondianlujitao2019-03-211-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
* Merge "Update FDE decrypt to pie from CAF" into android-9.0Dees Troy2019-03-201-1/+1
|\
| * Update FDE decrypt to pie from CAFEthan Yonker2019-03-201-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
* | MTP FFS updates:bigbiff bigbiff2019-03-201-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
* prebuilt: Avoid re-linking ARM64 specific library on other architectureslambdadroid2019-03-181-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
* Merge "slot management: add library for slot management." into android-9.0Dees Troy2019-03-171-1/+1
|\
| * slot management: add library for slot management.bigbiff bigbiff2019-02-211-1/+1
| | | | | | | | Change-Id: I7d0a67bc8e237866485680a5c54443435e7d2737
* | Merge "vold_decrypt: Add android 9.0 support" into android-9.0big biff2019-03-083-0/+15
|\ \
| * | vold_decrypt: Add android 9.0 supportnijel82019-02-023-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
* / mksh: add mkshrc when using TW_USE_TOOLBOXCaptain Throwback2019-03-072-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
* Add metadata decrypt support for FBEEthan Yonker2019-01-171-12/+24
| | | | Change-Id: Ie0292f4ffea5993a4ae74fa04fc5c8252ca2cfcf
* Merge "Include weaver library in 9.0 trees" into android-9.0big biff2019-01-061-0/+3
|\
| * Include weaver library in 9.0 treesEthan Yonker2018-12-211-0/+3
| | | | | | | | Change-Id: I0e05e29b43c748d7746dc70428a4eb7664b7d2d4
* | prebuilt: resolve libext2_misc.so dependency for mke2fsVladimir Oltean2018-12-231-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>
* Decrypt FBE on 9.0 (backwards compatible)Ethan Yonker2018-08-311-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
* Merge AOSP android-9.0.0_r3Ethan Yonker2018-08-241-3/+16
| | | | | | Fix conflicts and make it build in 5.1, 6.0, 7.1, 8.1, and 9.0 Change-Id: Ida0a64c29ff27d339b7f42a18d820930964ac6e4
* Remove SuperSUEthan Yonker2018-07-2013-532/+0
| | | | Change-Id: I2ca7580bbde5a8903b9ba5c1513ddba887e8d49e
* Relink adbd needed in android 8.1nkk712017-12-191-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
* Fix android.hidle.base@1.0 rule for various 8.0 treesEthan Yonker2017-12-121-1/+3
| | | | Change-Id: I57a1a807841b20860c9a1c9523be385b12b6b933
* Fix stuck on 'black' screen entering recoverynkk712017-12-041-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
* Better compatibility across 8.0.0 treesEthan Yonker2017-11-291-4/+10
| | | | Change-Id: Ic8200da4e99826736e002a1ab5f9e5f967e84193
* FBE for Pixel 2Ethan Yonker2017-11-281-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
* Fix issues building with LineageOS cryptfs_hwEthan Yonker2017-11-281-1/+5
| | | | Change-Id: Ie22691433aefa3b8819ec14e0349ee12bd88a1c2
* Fix mkfs.f2fs build errornkk712017-11-171-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
* Fix a few build errorsEthan Yonker2017-09-151-0/+4
| | | | Change-Id: I1311e4f9bb2409e856df3d333cc0d6c3f8f097f8
* Add libraries needed in 8.0 for e2fsck and tune2fsEthan Yonker2017-09-121-0/+2
| | | | Change-Id: I99fad0cf2de7ff95814eff1a5f8dde59afb4b5c2
* Update to AOSP 8.0 baseEthan Yonker2017-09-081-1/+15
| | | | Change-Id: I29fe722b4eb9718765327902779046840a01433e
* twrpDigest refactorbigbiff bigbiff2017-06-171-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
* Revert "Fix adb shell in 7.0 tree"Captain Throwback2017-03-071-3/+0
| | | | | | This reverts commit 0a8a7cebf154f7062174c4fac4a9c836038fbfbc. Change-Id: Icdb1f2e93aeaf35a66b6f67eaff51d9af5fd2e9a
* Fix missing libf2fs.so needed by mkfs.f2fsTheStrix2017-03-061-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
* recovery: adjust mkfs.f2fs locationmaxwen2017-01-241-1/+1
| | | | | | middle finger ahead Change-Id: I14a036a5a79121056e6185f367fc6d61bcec46d2
* SELinux can be assumed for Android 4.4+Matt Mower2017-01-181-9/+2
| | | | Change-Id: I7410a0c8e439eec90a955ee9201efd9a92bb9635
* build: AOSP/CM14 fixes (API 24/25, mainly BusyBox-less environment)Hashcode2017-01-121-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
* build: Consolidate the crypto_utils presence testsD. Andrei Măceș2017-01-111-1/+3
| | | | | | No point checking filesystem repeatedly/check may change in future Change-Id: I0413b07b850f785eb5150c6ed18836cc56e94d6f
* Add TWRP app install via TWRP recoveryEthan Yonker2016-12-162-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
* Support File Based EncryptionEthan Yonker2016-12-131-0/+12
| | | | Change-Id: Ib688ddd0c32d3999590cacd86b6d9b18eac336e9
* Add boot slot supportEthan Yonker2016-12-131-0/+6
| | | | Change-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
* Fix adb shell in 7.0 treeEthan Yonker2016-11-301-0/+3
| | | | | | | busybox sh does not seem to work properly in 7.0 trees so use mksh for sh instead. Change-Id: Ia33bc3894f929b1348c8714d4ddd00a2671c7e94
* Update to android-7.1Ethan Yonker2016-11-301-0/+1
|
* Fix compatibility across the boardEthan Yonker2016-08-261-1/+4
| | | | Change-Id: I6376920775ddabb4d4af505fffd86e404403a64a
* Make it backwards compatible with 4.4Ethan Yonker2016-08-251-2/+4
| | | | Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
* Update to 7.0Ethan Yonker2016-08-241-8/+13
| | | | Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
* NTFS-3g: migrate to PLATFORM_SDK check insteadJason Riordan2016-08-221-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
* ADB: Add adb backup for TWRP.bigbiff2016-08-011-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
* Fix RELINK of toybox for twrpsndnvaps2016-03-181-1/+1
| | | | | Change-Id: Ia609eec928278fc63e699d42799f74b4ada82221 Signed-off-by: sndnvaps <sndnvaps@gmail.com>
* Fix up logd make file rulesEthan Yonker2016-02-151-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
* Add TWRP flags to enable logd and/or logcat in recoveryCaptain Throwback2016-02-041-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
* allow flashing sparse imagesHashBang2016-02-031-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
* Flag to enable jpg supportGreg Wallace2016-02-031-1/+3
| | | | | | | Builder using a custom theme may have need for this. Add a flag to easily enable jpg support. Change-Id: Ica74f8cb1312d3193105f2201a5cf8073e2edc82
* Add compare xml script and move/update relink-binaries.shEthan Yonker2016-01-301-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
* Replace fix permissions with fix contexts for emulated storageEthan Yonker2016-01-291-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
* ifdef and comment out libjpegEthan Yonker2016-01-271-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
* Adopted Storage supportEthan Yonker2016-01-251-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
* Add zip and unzip when using toyboxdianlujitao2016-01-221-0/+6
| | | | | Change-Id: I75500bfe4e7adf66c5538597d79ed0539e7bb551 Signed-off-by: dianlujitao <dianlujitao@gmail.com>
* Fix SuperSU local dependenciesEthan Yonker2016-01-202-1/+2
| | | | Change-Id: Ia5fadd8254340b21a54565e2c7d2b54aa70f19f3
* Improve sdcard partitioning processEthan Yonker2016-01-142-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
* ntfs-3g: Fix cm-13 compatibilityGreg Wallace2016-01-041-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
* exfat: Build fsck and update path to mkfsMatt Mower2015-12-221-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
* f2fs: Update make rules for CM compatibilityMatt Mower2015-12-221-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
* Rename libexfat target to prevent conflictsEthan Yonker2015-12-081-1/+1
| | | | Change-Id: I5d2774c273a90c1f02c074f3c947c13b265972b3
* Update dosfstoolsMatt Mower2015-11-261-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
* Fix mkfs.f2fs error in 6.0 treesEthan Yonker2015-10-091-3/+7
| | | | Change-Id: I1217094f0e336445eb4dd5f46242d9719525ffbd
* Merge up to AOSP marshmallow-releaseEthan Yonker2015-10-093-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to maintain compatibility with older trees, we now have minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to handle ifdef issues in minui/minui.d because healthd includes minui/minui.h and there was no other alternative to make minui.h compatible with older trees without having to modify healthd rules which is outside of TWRP. Note that the new minui does not currently have support for qcom overlay graphics. Support for this graphics mode will likely be added in a later patch set. If you are building in a 6.0 tree and have a device that needs qcom overlay graphics, be warned, as off mode charging may not work properly. A dead battery in this case could potentially brick your device if it is unable to charge as healthd handles charging duties. Update rules for building toolbox and add rules for making toybox Use permissive.sh in init.rc which will follow symlinks so we do not have to worry about what binary is supplying the setenforce functionality (toolbox, toybox, or busybox). Fix a few warnings in the main recovery binary source code. Fix a few includes that were missing that prevented compiling in 6.0 Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
* Add ntfs-3g supportEthan Yonker2015-07-141-0/+5
| | | | | | | Add support for mounting ntfs via ntfs-3g and support for wiping and repairing ntfs partitions. Change-Id: I82dc4626f459bb93b86eb9ebba64ad3a6560781b
* Update path for libcryptfs_hw to proper variableCaptain Throwback2015-07-141-1/+1
| | | | Change-Id: Ie91d161f4e439a870534639f44a03df22f4fe39a
* Add resize2fs and ability to run resize2fs via GUIEthan Yonker2015-05-281-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
* Support Qualcomm hardware decryptDees Troy2015-05-151-0/+3
| | | | Change-Id: I121ef0f5da209be48f6d87559d539c7fc6d85336
* Make TWRP compile for x86-64 CPU targetEthan Yonker2015-03-131-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
* Handle sdk version 22 as lollipopmar-v-in2015-03-111-2/+2
| | | | Change-Id: I87c17715d7acdf6ae15f8a39e3e316715bade6f3
* Use /twres instead of /res for theme resourcesDees Troy2015-01-221-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
* Merge "Include libpcre if present" into android-5.0Dees Troy2015-01-221-0/+3
|\
| * Include libpcre if presentDees Troy2015-01-221-0/+3
| | | | | | | | Change-Id: I51bdabbd5b2c2263f3f72cdd2ffcba2bc97e0c43
* | Remove fibmap.f2fs from relinkingDees Troy2015-01-221-2/+0
|/ | | | Change-Id: Ibf43367446782642f41d437d1d97d62fc7dbb185
* Include libnetd_client in recoveryVojtech Bocek2015-01-061-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>
* Stop building unneeded libs for libblkidEthan Yonker2015-01-051-2/+0
| | | | Change-Id: I96d91f2d2e38380ff46a6ff6e2c8c9a245aa0431
* Build more needed libs for mke2fsEthan Yonker2015-01-051-0/+6
| | | | Change-Id: I473f5a0412bf35507a755d485bbdf53fd241748b
* Update blkid to 2.25.0bigbiff2015-01-051-1/+3
| | | | | | | | Break libblkid into 4 libraries: libblkid, libuuid, libutil-linux and libfdisk. This should help in later patch updates. Change-Id: I680d9a7feb031e5c29a603e9c58aff4b65826262
* crypto: remove unused libs and clean up makefilethat2015-01-051-3/+0
| | | | | | libsoftkeymaster and its dependencies appear to be unused. Change-Id: Ib720f5e4d2750a739ba6b65b346c0e167df279d3
* Update SuperSU to 2.40Ethan Yonker2014-12-1811-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
* Fix compiling of dosfstools for arm64Ethan Yonker2014-12-121-6/+3
| | | | Change-Id: If99d0be4b73cdeb388c6cb1b35a215d3b8b3b58d
* Use one mizip for allEthan Yonker2014-12-101-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
* Include libext2_quota.so if present for e2fsprogs utilitiesEthan Yonker2014-12-091-0/+3
| | | | | | | Needed starting in 5.0 lollipop for e2fsck, mke2fs, and tune2fs binaries. Change-Id: Ie76517df4690f6407cb63d0607c6c0c8a77975e5
* Use linker64 on AArch64Ethan Yonker2014-12-092-1/+4
| | | | | Patch Set 3: Combine into one sed - by bigbiff Change-Id: Ice3147fae76575f6e09c7df201bcd3f949aa24ea
* Reduce libs needed for decrypt and clean up old decypt filesEthan Yonker2014-12-041-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
* bootable recovery: we upgraded to 5.0.1erikcas2014-12-031-2/+2
| | | | Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
* Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker2014-12-021-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
* Add flag for including additional files built from source in TWRPEthan Yonker2014-11-181-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
* Make libmincrypttwrp a shared libraryEthan Yonker2014-11-171-1/+1
| | | | Change-Id: I8c3f084fc34b00edb4cd1b652290df8bc80ea1db
* Add lollipop decrypt supportEthan Yonker2014-11-121-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
* Make TWRP compile for arm64Ethan Yonker2014-11-121-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
* Add new needed libs for 5.0 recoveryEthan Yonker2014-11-071-0/+6
| | | | Change-Id: I9444e50b32517aebeca5ff3644c1c2f0dfff9d29
* Remove libcorkscrewEthan Yonker2014-11-061-1/+2
| | | | Change-Id: Ib93b934c6154a0a8955eb66c1bb0eed8aff10e34
* Remove dependence on build hax in makefilesMatt Mower2014-11-031-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
* Add support for TrueType fontsVojtech Bocek2014-10-141-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>
* Fix exfat-fuse handlingDees Troy2014-10-091-0/+1
| | | | Change-Id: Iac1966a1c5bfcb627e1bee7100c4b5d069b0a5b7
* Fixes for exfat-fuseCaptain Throwback2014-10-071-1/+4
| | | | Change-Id: I46a1e7bf115c45616774b0571b17e38777ba87f8
* add mtp responder to TWRP.bigbiff bigbiff2014-09-031-0/+10
| | | | | | Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
* Add command line capabilitiesEthan Yonker2014-08-091-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
* Whitespace and minor code cleanupMatt Mower2014-06-044-26/+26
| | | | | | This is by no means comprehensive, but is quite a bit better already. Change-Id: Ibc8654a5dfb0eec39cbd0b64bdb52bb4fbfe2f7e
* Add script to convert TrueTypeFonts to TWRP's .dat formatVojtech Bocek2014-05-311-0/+198
| | | | | Change-Id: I3d6cc65a83b7da9428adf37804cf9cbd0df99492 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
* Add option to build TWRP with toolbox instead of busyboxEthan Yonker2014-04-041-1/+5
| | | | | | | Makes a smaller TWRP Uses mksh for shell Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
* Update SuperSUEthan Yonker2014-02-082-6/+4
| | | | Change-Id: I0f450357595e7f5f56a7c120b899101faf7f6360
* Add reboot binary if it exists to recoveryDees Troy2013-11-041-0/+3
| | | | Change-Id: I7efdba5cf4addf0036ea04ab76a8ecc2c3456e2a
* Add toolbox_recovery rulesDees Troy2013-10-161-0/+1
| | | | | | Build special limited toolbox with SELinux tools for recovery Change-Id: Ifc76a6bd0468a72081f15ede2a68adf48af8a0f2
* Make SELinux automatic if presentDees Troy2013-09-121-1/+1
|
* Update SuperSU for 4.3 SELinux, 2.6.1.0Dees_Troy2013-08-305-0/+39
| | | | Change-Id: Ib7f882db8a8c61d1156c03468208205124132b6c
* Change to use HAVE_SELINUX build flagDees_Troy2013-08-291-1/+4
|
* Initial f2fs supportDees_Troy2013-08-291-0/+5
| | | | | | | Need to add this to your source tree: https://github.com/razrqcom-dev-team/android_external_f2fs-tools Change-Id: I3ee9ebbb617259655518f8ea356ce7b8c246cd4d
* Add SELinux supportDees_Troy2013-08-241-1/+3
| | | | Change-Id: I11e1a3d018d921d96ba08915925b14bf633be6ed
* Add libselinux for CM10.2 treeDees_Troy2013-08-111-0/+3
| | | | Change-Id: I94979806935546fa40a87611be5185c14b557377
* Remove libjpegtwrp and use CM provided libjpegDees_Troy2013-08-111-0/+1
|
* Update SuperSU binaryDees_Troy2013-07-011-0/+0
|
* Support encrypted backup filesDees_Troy2013-06-221-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
* Tweak libsDees_Troy2013-04-051-6/+0
|
* Add new SliderValue GUI widgetVojtech Bocek2013-04-041-1/+1
| | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
* Move all AOSP code out of recovery binaryDees_Troy2013-04-041-2/+13
| | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* Add fast scroll bar to fileselectorVojtech Bocek2013-02-271-1/+5
| | | | | | | Also fix build problems with libblkid in CM7 Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
* fixes for fakeflash zipsjt11342013-02-271-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
* Check for root and root perms and offer to install/fixDees_Troy2013-02-213-0/+20
| | | | | | Also fix sort order for file selector by date and file sizes Change-Id: Idff9fe4232c19d4ed1082e78fabe6f921aa0a114
* exFAT improvements, fixesDees_Troy2013-01-281-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
* change fuse to be compiled with TW_INCLUDE_FUSE_EXFATbigbiff bigbiff2013-01-191-2/+2
| | | | | update exfat_fuse to newest updates Always compile mkexfatfs
* remove relink files for samsung encryption libraries.bigbiff bigbiff2013-01-121-5/+0
|
* Add libsparse if it existsDees_Troy2013-01-101-0/+3
|
* Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2013-01-091-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
* Add Samsung TouchWiz decryptiona39552692013-01-081-0/+5
| | | | Change-Id: I418680e59372160dabfe3e2d5f0208229aa151ae
* Create busybox symlinks during compileDees_Troy2012-10-022-23/+0
|
* Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy2012-09-282-0/+23
|
* Create symlinks at compile time for busyboxDees_Troy2012-09-273-78/+0
|
* Update sdcard partitioning to C++Dees_Troy2012-09-272-667/+0
|
* Fix permissions updatesDees_Troy2012-09-261-352/+360
| | | | | Also redirect stderr output on terminal commands for display in GUI console
* Update backup and restore code, adb sideloadDees_Troy2012-09-171-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.
* Move to shared libmincryptDees_Troy2012-09-141-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.
* Add wipe functions, compiles in CM7, text shows in UI, zips installDees_Troy2012-09-141-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
* Make text appear in GUI console, Zip install works.Dees_Troy2012-09-121-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.
* TWRP-ify AOSP codeDees_Troy2012-09-0519-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