summaryrefslogtreecommitdiffstats
path: root/Android.mk (follow)
Commit message (Collapse)AuthorAgeFilesLines
* TWRP device version stringbigbiff bigbiff2017-01-181-1/+7
| | | | | | | | | | | | For building through jenkins. Export a variable to the shell so that we don't monkey patch variables.h and keep the git tag clean in the version string. Jenkins will export the variable TW_DEVICE_VERSION=n where n > 0. The makefile will use this variable to show the device string in twrp startup. For mass production builds, omit the environment variable to default to 0. Change-Id: I0d6eb764255d7069c0fb4a378522a009cfe4054f
* 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-0/+2
| | | | | | No point checking filesystem repeatedly/check may change in future Change-Id: I0413b07b850f785eb5150c6ed18836cc56e94d6f
* Support File Based EncryptionEthan Yonker2016-12-131-0/+8
| | | | Change-Id: Ib688ddd0c32d3999590cacd86b6d9b18eac336e9
* Add boot slot supportEthan Yonker2016-12-131-1/+3
| | | | Change-Id: I7eaf80e327985f53791f90fbdebad022a9650d31
* Support new AB OTA zipsEthan Yonker2016-12-051-5/+9
| | | | Change-Id: I1ff883375a0a769bf27a834c9bf04c6cdbb42117
* Improve backup & wipe exclusion handlingEthan Yonker2016-11-301-1/+1
| | | | | | | | | | | | | | Rename twrpDU.* to exclude.* Remove global variable for du and replace with partition specific variables. Use separate exclusion lists for backups and wiping. Clean up some includes Fix some parenthesis in twrp.cpp that I messed up. Note: twrpTarMain command line utility compiles but probably does not work correctly yet due to not properly setting part_settings Change-Id: Idec9c3e6a8782ba53f3420fa79ba33394f4f85fb
* 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-2/+8
|\
| * Create bootloader_message static library.Yabin Cui2016-06-301-5/+7
| | | | | | | | | | | | | | | | | | | | bootloader_messages merges bootloader_message_writer and bootloader.cpp, so we can use the same library to manage bootloader_message in normal boot and recovery mode. Bug: 29582118 Change-Id: I9efdf776ef8f02b53911ff43a518e035e0c29618
| * Disable the meaningless parts of the UI for A/B.Elliott Hughes2016-05-241-0/+4
| | | | | | | | | | Bug: http://b/28748484 Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b
* | Fix libcrypto dependency in 6.0 treesEthan Yonker2016-09-151-1/+1
| | | | | | | | Change-Id: Ie230ed5f3db38a62305e03e4f9819e4aca816e16
* | twrp: Use the correct lib nameHumberto Borba2016-08-311-2/+2
| | | | | | | | | | | | | | | | Now ART uses LZ4 and the lib name should be liblz4. https://github.com/omnirom/android_external_lz4/blob/android-7.0/lib/Android.mk Signed-off-by: Humberto Borba <humberos@gmail.com> Change-Id: Ifce783ecb6af10d43bbeabd614d12e8e6b3b4270
* | Make naming scheme more meaningfulEthan Yonker2016-08-291-1/+1
| | | | | | | | Change-Id: Ifcaf00c760ff452b0e85a88b54e91ca0f2f4644a
* | Fix compatibility across the boardEthan Yonker2016-08-261-5/+14
| | | | | | | | Change-Id: I6376920775ddabb4d4af505fffd86e404403a64a
* | Fix compatibility with 5.1Ethan Yonker2016-08-251-1/+1
| | | | | | | | Change-Id: I83704ce3a669239e0acb936e50e6eae080b28173
* | Make it backwards compatible with 4.4Ethan Yonker2016-08-251-21/+55
| | | | | | | | Change-Id: I668604cddc8e8afbf78709f3f872bea4e9f4aa06
* | Update to 7.0Ethan Yonker2016-08-241-42/+52
|\| | | | | | | Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
| * Use BoringSSL instead of mincrypt to speed up package verification.Elliott Hughes2016-04-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | This changes the verification code in bootable/recovery to use BoringSSL instead of mincrypt. Cherry-pick of 452df6d99c81c4eeee3d2c7b2171901e8b7bc54a, with merge conflict resolution, extra logging in verifier.cpp, and an increase in the hash chunk size from 4KiB to 1MiB. Bug: http://b/28135231 Change-Id: I1ed7efd52223dd6f6a4629cad187cbc383d5aa84
| * recovery: use __android_log_pmsg_file_write for log filesMark Salyzyn2016-03-311-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry-pick from commit a4f701af93a5a739f34823cde0c493dfbc63537a) - Add call to __android_log_pmsg_file_write for recovery logging. - Add call to refresh pmsg if we reboot back into recovery and then allow overwrite of those logs. - Add a new one-time executable recovery-refresh that refreshes pmsg in post-fs phase of init. We rely on pmsg eventually scrolling off to age the content after recovery-persist has done its job. - Add a new one-time executable recovery-persist that transfers from pmsg to /data/misc/recovery/ directory if /cache is not mounted in post-fs-data phase of init. - Build and appropriately trigger the above two as required if BOARD_CACHEIMAGE_PARTITION_SIZE is undefined. - Add some simple unit tests NB: Test failure is expected on systems that do not deliver either the recovery-persist or recovery-refresh executables, e.g. systems with /cache. Tests also require a timely reboot sequence of test to truly verify, tests provide guidance on stderr to direct. Bug: 27176738 Change-Id: I17bb95980234984f6b2087fd5941b0a3126b706b
| * recovery: Move SwipeDetector into common locationPrashant Malani2016-03-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The SwipeDetector class is used almost unchanged in all locations. This patch moves it into the recovery module, from which devices can reference it if required. The class is now renamed to WearSwipeDetector. Bug: 27407422 Change-Id: Ifd3c7069a287548b89b14ab5d6d2b90a298e0145
| * recovery: check battery level before installing package.Yabin Cui2016-02-231-0/+4
| | | | | | | | | | | | | | Bug: 26879394 Change-Id: I63dce5bc50c2e104129f1bcab7d3cad5682bf45d (cherry picked from commit 53e7a0628f4acc95481f556ba51800df4a1de37d)
| * Merge "Refactor existing tests to use gtest" am: 38b02cc6a0Tao Bao2016-02-051-19/+1
| |\ | | | | | | | | | | | | | | | | | | am: 9865c55254 * commit '9865c55254a1583e18a7e8ac502f2c2143ed8b82': Refactor existing tests to use gtest
| | * Refactor existing tests to use gtestJed Estep2016-02-041-19/+1
| | | | | | | | | | | | | | | Bug: 26962907 Change-Id: I5f80636af1740badeff7d08193f08e23f4e4fee1
| | * Add update_verifier for A/B OTA update.Tao Bao2015-12-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update_verifier checks the integrity of the updated system and vendor partitions on the first boot post an A/B OTA update. It marks the current slot as having booted successfully if it passes the verification. This CL doesn't perform any actual verification work which will be addressed in follow-up CLs. Bug: 26039641 Change-Id: Ia5504ed25b799b48b5886c2fc68073a360127f42 (cherry picked from commit 1171d3a12b13ca3f1d4301985cf068076e55ae26)
| * | IO fault injection for OTA packagesJed Estep2016-01-061-0/+1
| | | | | | | | | | | | | | | Bug: 25951086 Change-Id: I31c74c735eb7a975b7f41fe2b2eff042e5699c0c
| * | Add update_verifier for A/B OTA update.Tao Bao2015-12-081-0/+1
| |\ \ | | |/ | |/| | | | | | | | | | | | | am: 1171d3a12b * commit '1171d3a12b13ca3f1d4301985cf068076e55ae26': Add update_verifier for A/B OTA update.
| | * Add update_verifier for A/B OTA update.Tao Bao2015-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update_verifier checks the integrity of the updated system and vendor partitions on the first boot post an A/B OTA update. It marks the current slot as having booted successfully if it passes the verification. This CL doesn't perform any actual verification work which will be addressed in follow-up CLs. Bug: 26039641 Change-Id: Ia5504ed25b799b48b5886c2fc68073a360127f42
| | * Stop using libstdc++.Dan Albert2015-11-161-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | These are already getting libc++, so it isn't necessary. If any of the other static libraries (such as adb) use new or delete from libc++, there will be symbol collisions. Change-Id: I55e43ec60006d3c2403122fa1174bde06f18e09f (cherry picked from commit e49a9e527a51f43db792263bb60bfc91293848da)
| | * recovery: Switch to clangTao Bao2015-11-161-2/+4
| | | | | | | | | | | | | | | | | | | | | And a few trival fixes to suppress warnings. Change-Id: Id28e3581aaca4bda59826afa80c0c1cdfb0442fc (cherry picked from commit 80e46e08de5f65702fa7f7cd3ef83f905d919bbc)
| * | Merge "recovery: Depend on mkfs.f2fs only if needed."Tao Bao2015-10-281-0/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | am: a412198699 * commit 'a4121986990d7dde7918252a96d87e4c3c11c13c': recovery: Depend on mkfs.f2fs only if needed.
| | * | recovery: Depend on mkfs.f2fs only if needed.Tao Bao2015-10-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Don't build mkfs.f2fs unless device defines TARGET_USERIMAGES_USE_F2FS. Change-Id: Ifac592c30315bbe7590c8fbf3a0844e6a7a31a1a
| | * | recovery: Switch fuse_* to C++.Tao Bao2015-07-201-2/+2
| | | | | | | | | | | | | | | | Change-Id: I68770ad1a9e99caee292f8010cfd37dfea3acc64
| * | | am 337db14f: recovery: Factor out wear_ui.{cpp,h} into bootable/recovery.Tao Bao2015-08-251-0/+1
| |\ \ \ | | | |/ | | |/| | | | | | | | | * commit '337db14f274fc73dd540aa71d2c21c431fe686ec': recovery: Factor out wear_ui.{cpp,h} into bootable/recovery.
| | * | recovery: Factor out wear_ui.{cpp,h} into bootable/recovery.Tao Bao2015-08-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every watch has a (mostly identical) copy of the wear_ui. Factor them out into a single copy for easier maintenance. Device-specific settings should be defined in recovery_ui.cpp that inherits WearRecoveryUI class. Bug: 22451422 Change-Id: Id07efca37d1b1d330e6327506c7b73ccf6ae9241
| * | | recovery: Switch fuse_* to C++.Tao Bao2015-07-241-2/+2
| | |/ | |/| | | | | | | | | | Change-Id: Id50c3e6febd0ab61f10a654b9b265cf21a2d1701 (cherry picked from commit 71dc365f25676cfb3f62dbb7163697a8c3c5243d)
| * | recovery: Switch to clangTao Bao2015-06-031-2/+4
| | | | | | | | | | | | | | | | | | And a few trival fixes to suppress warnings. Change-Id: I38734b5f4434643e85feab25f4807b46a45d8d65
| * | Stop using libstdc++.Dan Albert2015-05-191-2/+0
| |/ | | | | | | | | | | | | | | These are already getting libc++, so it isn't necessary. If any of the other static libraries (such as adb) use new or delete from libc++, there will be symbol collisions. Change-Id: I55e43ec60006d3c2403122fa1174bde06f18e09f
* | 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
* | Add git revision to startup message in recovery.logthat2016-08-221-0/+6
| | | | | | | | | | | | | | This should make it easier to find the exact source for a specific version of the binary. Change-Id: I7e04dd9a3205cc643150a588b69b4bd691212ecb
* | ADB: Add adb backup for TWRP.bigbiff2016-08-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Really remove all old SP* flags and codeEthan Yonker2016-04-021-18/+0
| | | | | | | | Change-Id: I5ece02a8721e1b7541fb5182366a55fd0f037a7a
* | Improve progress bar handling for backup / restore / image flashEthan Yonker2016-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The progress bar will now be updated during image backups, restores and during image flashing (except for sparse images which will require significant changes to libsparse, and except for mtd nand using flash_utils). The progress bar will now be updated mid-file for file systems (tar) so the user will see changes even during large file backup / restore. Add a new progress tracking class to simplify handling of progress bar updates. The class will only update the progress bar 5 times a second to reduce the CPU load from updating the GUI frequently which does affect backup times. Change-Id: Iff382faef3df1f86604af336c1a8ce8993cd12c5
* | Remove busybox modprobe to fix slow performance for some devicesEthan Yonker2016-02-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bionic process initialization calls personality (specifically personality-8) personality wants to load a kernel module loading a kernel module calls /sbin/modprobe loading /sbin/modprobe is a bionic process initialization bionic process initialization calls personality personality wants to load a kernel module loading a kernel module calls /sbin/modprobe . . . Before you know it, it takes 0.5 seconds to do anything. Note: modprobe is still technically available, but the symlink has been removed, so you can still call it directly by running busybox modprobe if you like. From what I can tell, this issue only affects 32 bit devices with CONFIG_MODULES=y in the defconfig. The problem can be also patched out of the kernel by commenting or otherwise removing the block of code in kernel/exec_domain.c inside the CONFIG_MODULES ifdef block It is also possible to patch the problem in bionic libc by commenting out or otherwise removing the __initialize_personality in bionic/libc/ bionic/libc_init_common.cpp file. Change-Id: Iebac314616080ac18320d73b087980ac1b98b951
* | Fix up logd make file rulesEthan Yonker2016-02-151-3/+3
| | | | | | | | | | | | | | | | | | 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
* | Fix no exfat-fuse rulesEthan Yonker2016-02-061-6/+6
| | | | | | | | | | | | If we set TW_NO_EXFAT then we should not try to build exfat-fuse Change-Id: I836ed6082cfbfb51bfb862b79c0182f36de88a9c
* | Add TWRP flags to enable logd and/or logcat in recoveryCaptain Throwback2016-02-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+4
| | | | | | | | | | | | | | | | | | | | 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
* | Replace fix permissions with fix contexts for emulated storageEthan Yonker2016-01-291-2/+1
| | | | | | | | | | | | | | | | | | | | 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
* | Adopted Storage supportEthan Yonker2016-01-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -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-201-1/+9
| | | | | | | | Change-Id: Ia5fadd8254340b21a54565e2c7d2b54aa70f19f3
* | Improve sdcard partitioning processEthan Yonker2016-01-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -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/+7
| | | | | | | | | | | | | | | | | | | | | | 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
* | Remove no-opOlivier K.2016-01-041-3/+0
| | | | | | | | Change-Id: I2bb2c44dd97974fa3cc19ccb6c6c7f0c3ef9bc58
* | do not include stlport headers unless link to itXing2015-12-231-2/+5
| | | | | | | | Change-Id: I8344d270ddb601694b5fef0fa7b22ea437030728
* | Add default brightness controlGreg Wallace2015-12-231-0/+3
| | | | | | | | | | | | | | | | | | This lets user set the default brightness so user doesn't cook their phone on first boot or loss of settings file, while still maintaining the ability to turn brightness to max if desired. Change-Id: Ia801fba46014335148ec573a0b0bbdf0a3ca60ae
* | exfat: Update to 1.2.2Matt Mower2015-12-231-1/+1
| | | | | | | | Change-Id: I160389afa074270c398aeb771845500f2445838a
* | exfat: Build fsck and update path to mkfsMatt Mower2015-12-221-1/+2
| | | | | | | | | | | | | | | | | | * 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
* | selinux: Only union sepolicy in SDKs 21,22Matt Mower2015-12-221-1/+1
| | | | | | | | | | | | Manual union is not needed in Android 6.0+. Change-Id: I7e321fb90b4333da349cc8ad8d2d78d990258b65
* | Remove unnecessary quoting from twres pathMatt Mower2015-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The C flag defines already use -DVAR=\"..\", so stripping these extra quotes should not affect those defines. The makefile does not need the quoting at all. Makefile example output... before: mkdir -p (omitted)/recovery/root"/twres/" after: mkdir -p (omitted)/recovery/root/twres/ Change-Id: I8f557662eb18b5ea40b63bc055d12be4440251e6
* | f2fs: Update make rules for CM compatibilityMatt Mower2015-12-221-0/+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
* | Multiple Language SupportEthan Yonker2015-12-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is similar to https://gerrit.omnirom.org/#/c/14014 A lot of the features built in the older patch set have been split out into separate patches, most of which have already been merged. The remaining functionality here should all be directly related to language selection and loading. We always load English as a base before loading other languages over the top of the base. The idea is that if another language is missing a translation, then we will still display the English. Maybe still to do: read the /cache/recovery/last_locale file and load a language based on that. For me, this file contains just: en_US We probably won't bother with region specific translations so we would have to look at either trimming off the _US or using some other method like perhaps a symlink or a combination of the two. Thanks to _that for twmsg.cpp class Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
* | Update dosfstoolsMatt Mower2015-11-261-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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 rules for libstlportEthan Yonker2015-11-091-1/+1
| | | | | | | | Change-Id: I571e906173c9e70de97e3cfefd10da5137dba4d4
* | Fixup union sepolicyAndrea Mennillo2015-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | This change solve two issue: 1) Policies related to recovery should be only included in recovery policy 2) In CM trees the sepolicy dir was always bootable/recovery- twrp/sepolicy, even if recovery path was bootable/recovery Change-Id: I9466d22293074ba5f5240abe8b97a5d1bf30982d
* | Fix SELinux issues for some devicesEthan Yonker2015-10-261-1/+2
| | | | | | | | | | | | | | | | | | Reinstate some SELinux stuff in the default init.rc (noticed by Kra1o5) Add permissive.sh script to dependencies list for CM trees. Change-Id: I36ade54378c413081d202002488309af35486d5f
* | fix build in Omni 4.4that2015-10-221-1/+3
| | | | | | | | Change-Id: Ida3984a6b774c2da12342d48d8644cd18de7396c
* | Union sepolicy within TWRP to make SELinux permissiveEthan Yonker2015-10-161-0/+5
| | | | | | | | | | | | | | | | This patch set should make it easier to build TWRP in non-Omni trees as it allows TWRP to modify the sepolicy instead of having to merge a patch in external/sepolicy to meet TWRP's needs. Change-Id: I73205343556abb0852ff4c5f8cbf293d840b95d9
* | Merge up to AOSP marshmallow-releaseEthan Yonker2015-10-091-13/+37
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Move the menu header out of the menu.Elliott Hughes2015-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | This makes it easier for us to deal with arbitrary information at the top, and means that headers added by specific commands don't overwrite the default ones. Add the fingerprint back, but broken up so it fits even on sprout's display. Change-Id: Id71da79ab1aa455a611d72756a3100a97ceb4c1c
| * Move "Mount /system" to the main menu.Elliott Hughes2015-04-101-1/+0
| | | | | | | | | | | | | | Everyone's adding secret key combinations for this anyway, and it's very useful when debugging. Change-Id: Iad549452b872a7af963dd649f283ebcd3ea24234
| * Move default implementations into Device.Elliott Hughes2015-04-091-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | The current abstract class was a nice idea but has led to a lot of copy & paste in practice. Right now, no one we know of has any extra menu items, so let's make the default menu available to everyone. (If we assume that someone somewhere really does need custom device-specific menu options, a better API would let them add to our menu rather than replacing it.) Change-Id: I59f6a92f3ecd830c2ce78ce9da19eaaf472c5dfa
| * Install the recovery binary directly to the recovery image.Ying Wang2015-03-101-5/+1
| | | | | | | | | | | | | | | | This eliminated the previous hack, that doesn't work reliably with the "LOCAL_REQUIRED_MODULES := mkfs.f2fs". Bug: 19666886 Change-Id: I1f0a2d41129f402c0165f3b86b6fda077291f282
| * Kill of most of the remainder of minadbd.Dan Albert2015-02-201-1/+0
| | | | | | | | | | | | | | | | I think everything left now is here to stay (services.c might get massaged in to libadbd if it gets refactored). Bug: 17626262 Change-Id: I01faf8b277a601a40e3a0f4c3b8206c97f1d2ce6
| * Use headers from adb.Dan Albert2015-02-191-3/+4
| | | | | | | | | | | | | | adb.h has diverged a bit, so that one will be more involved, but these three are all trivial, unimportant changes. Change-Id: Ief8474c1c2927d7e955adf04f887c76ab37077a6
| * Lose USB transport code to libadb.Dan Albert2015-02-191-1/+1
| | | | | | | | | | Bug: 17626262 Change-Id: If41031ba20a3a75fa510f155c654a482b47e409d
| * Merge "Fix build when TARGET_USERIMAGES_USE_EXT4 is not defined"Elliott Hughes2015-02-111-1/+3
| |\
| | * Fix build when TARGET_USERIMAGES_USE_EXT4 is not definedAdrien Grassein2014-11-071-1/+3
| | | | | | | | | | | | | | | | | | The cryptfs.h files is always included, but its path is only included when TARGET_USERIMAGES_USE_EXT4 is defined. Change-Id: Iec6aa4601a56a1feac456a21a53a08557dc1d00d
| * | Merge "Start losing code to libadb."Dan Albert2015-01-271-0/+1
| |\ \
| | * | Start losing code to libadb.Dan Albert2014-11-251-0/+1
| | |/ | | | | | | | | | | | | Bug: 17626262 Change-Id: I8ce7cff2b7789f39f35a4211d7120d072c05a863
| * / Remove superfluous OpenSSL include paths.Adam Langley2015-01-231-1/+0
| |/ | | | | | | | | | | | | | | This include path was needed because system/vold/cryptfs.h included an OpenSSL header just to get the length of a SHA-256 hash. This has been fixed in https://android-review.googlesource.com/#/c/124477/1. Change-Id: I06a8ba0ee5b9efcc3260598f07d9819f065711de
* | Add ntfs-3g supportEthan Yonker2015-07-141-0/+6
| | | | | | | | | | | | | | Add support for mounting ntfs via ntfs-3g and support for wiping and repairing ntfs partitions. Change-Id: I82dc4626f459bb93b86eb9ebba64ad3a6560781b
* | Allow devices to override USB initMatt Mower2015-07-141-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables devices to provide their own USB configuration. The contents of init.recovery.usb.rc can most simply be modified and included in a device's init.recovery.${ro.hardware}.rc. Use option: TW_EXCLUDE_DEFAULT_USB_INIT := true Rationale: Some devices handle USB pid switching in the kernel. In this case, USB init provides switching functions which differ from the standard on property:sys.usb.config=xyz. Other devices should not see USB attempt mtp,adb mode when TW_EXCLUDE_MTP is set. Cherry-picked from android-5.0 Change-Id: Ief0fcaf46a1782102166fc1b733a34b1a1ba0802
* | Don't try to read temparature file if TW_NO_CPU_TEMP is set to true.Agontuk2015-06-011-3/+0
| | | | | | | | | | | | | | | | | | Otherwise, recovery log gets filled up with "I:Cannot find file /sys/class/thermal/thermal_zone0/temp" This also fixes build warnings due to duplicate definition of TW_NO_CPU_TEMP. Change-Id: Ib7fdcd103d6684249c38c8b14ec85f2faba158f6
* | Only include uncrypt if not in system/coreMatt Mower2015-05-191-1/+4
| | | | | | | | | | | | | | | | | | Some android trees have uncrypt in system/core (cm-11.0). This breaks building recovery since two modules of the same name conflict. Only include the local copy of uncrypt if it doesn't already exist in system/core. Change-Id: Ie2d7cdedf0d4c9ad148c43b317d1f22d1e50e1f7
* | recovery: Add lz4 libs if availableTom Marshall2015-05-191-0/+6
| | | | | | | | | | | | * Required by transparent compresssion in make_ext4fs. Change-Id: I566c9e1281cc0dd725e96db32da0a1c3c000030e
* | Make TWRP compile for x86-64 CPU targetEthan Yonker2015-03-131-1/+5
| | | | | | | | | | | | | | 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
* | Add cancel backup capability.bigbiff2015-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | This will stop the iteration of the partition objects, kill the current twrpTar thread and remove the backup directory. Implement TWAtomicInt class to give us a wrapper that automatically uses mutexes before the read and write to help ensure that the reads and writes will be atomic based on documentation. Change-Id: I645b22bc980a292e9c7202acb24ffd22ebe68c63
* | Use /twres instead of /res for theme resourcesDees Troy2015-01-221-0/+5
| | | | | | | | | | | | | | | | | | 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
* | Remove mtdutils source from libaosprecoveryEthan Yonker2015-01-051-1/+1
| | | | | | | | Change-Id: I836ae4491f8da75fd13e73193774677e26daf16d
* | Update blkid to 2.25.0bigbiff2015-01-051-1/+2
| | | | | | | | | | | | | | | | Break libblkid into 4 libraries: libblkid, libuuid, libutil-linux and libfdisk. This should help in later patch updates. Change-Id: I680d9a7feb031e5c29a603e9c58aff4b65826262
* | Fix compiling of dosfstools for arm64Ethan Yonker2014-12-121-11/+7
| | | | | | | | Change-Id: If99d0be4b73cdeb388c6cb1b35a215d3b8b3b58d
* | Attempt to set the proper uid/gid/contexts on new files and dirsEthan Yonker2014-12-121-2/+2
| | | | | | | | | | | | | | | | | | | | Files and folders that we create during backups, copy log, or MTP operations often do not have the proper uid/gid/contexts assigned. We will attempt to read the proper contexts from the settings storage path and assign those same contexts to any files or dirs that we create. Change-Id: I769f9479854122b49b499de2175e6e2d026f8afd
* | Fix generating symlinks for older treesDees Troy2014-12-121-0/+3
| | | | | | | | | | | | | | Symlinks for unpigz, toolbox, and busybox were not generating in older trees. Change-Id: I3ca2a2047510954e66fb3cf49eef6af713d3268e
* | Use one mizip for allEthan Yonker2014-12-101-17/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix mkexfatfs exclusion when TW_NO_EXFAT enabledMatt Mower2014-12-101-1/+3
| | | | | | | | | | | | | | | | | | Push to android-5.0 Conflicts: Android.mk Change-Id: I0b831a4e6e52e4b314751035b750e6a398cb4d2d
* | Use linker64 on AArch64Ethan Yonker2014-12-091-2/+3
| | | | | | | | | | 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-51/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
* | Make the android-5.0 branch compile in 4.4 to 4.1Ethan Yonker2014-12-021-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Make libmincrypttwrp a shared libraryEthan Yonker2014-11-171-4/+2
| | | | | | | | Change-Id: I8c3f084fc34b00edb4cd1b652290df8bc80ea1db
* | Add lollipop decrypt supportEthan Yonker2014-11-121-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -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
* | Fix merge derp in main Android.mk fileEthan Yonker2014-11-071-14/+0
| | | | | | | | Change-Id: Id6fcae7b7b8d9a03ff09711844e987084bd001ac
* | Fix up libaosprecoveryEthan Yonker2014-11-061-1/+1
| | | | | | | | Change-Id: I5a6d0c3c5f9a3a474464c0f06d6b09045459eebb
* | More make file tweaksEthan Yonker2014-11-061-3/+4
| | | | | | | | Change-Id: I26fa571b151c50d133b550395576d4e0246e18bd
* | Fix some make file duplicatesEthan Yonker2014-11-061-3/+0
| | | | | | | | Change-Id: Id226b2cde93cf0f81a6dd33fbdf70f8f954cade8
* | Merge in lollipop and attempt to fix merge conflictsEthan Yonker2014-11-061-2/+51
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will probably not compile and may need additional work. For tracking purposes so we know what might still need looking at as none of this has been compiled and tested, here is a list of the merge conflicts that I attempted to fix before pushing this set of changes: git pull aosp lollipop-release remote: Finding sources: 100% (992/992) remote: Total 992 (delta 473), reused 992 (delta 473) Receiving objects: 100% (992/992), 1.51 MiB | 516.00 KiB/s, done. Resolving deltas: 100% (473/473), completed with 42 local objects. From https://android.googlesource.com/platform/bootable/recovery * branch lollipop-release -> FETCH_HEAD * [new branch] lollipop-release -> aosp/lollipop-release Auto-merging verifier_test.cpp CONFLICT (content): Merge conflict in verifier_test.cpp Auto-merging verifier.h CONFLICT (content): Merge conflict in verifier.h Auto-merging verifier.cpp CONFLICT (content): Merge conflict in verifier.cpp Auto-merging updater/updater.c Auto-merging updater/install.c CONFLICT (content): Merge conflict in updater/install.c Auto-merging updater/Android.mk CONFLICT (content): Merge conflict in updater/Android.mk Auto-merging uncrypt/Android.mk CONFLICT (content): Merge conflict in uncrypt/Android.mk Auto-merging ui.cpp CONFLICT (content): Merge conflict in ui.cpp Auto-merging screen_ui.cpp Auto-merging roots.cpp CONFLICT (content): Merge conflict in roots.cpp CONFLICT (rename/delete): res-hdpi/images/progress_fill.png deleted in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42. Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of res-hdpi/images/progress_fill.png left in tree. CONFLICT (rename/delete): res-hdpi/images/progress_empty.png deleted in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42. Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of res-hdpi/images/progress_empty.png left in tree. CONFLICT (rename/delete): res-hdpi/images/icon_error.png deleted in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42. Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of res-hdpi/images/icon_error.png left in tree. Auto-merging recovery.cpp CONFLICT (content): Merge conflict in recovery.cpp Auto-merging minui/resources.c CONFLICT (content): Merge conflict in minui/resources.c Auto-merging minui/minui.h CONFLICT (content): Merge conflict in minui/minui.h Auto-merging minui/graphics.c CONFLICT (content): Merge conflict in minui/graphics.c Auto-merging minui/Android.mk CONFLICT (content): Merge conflict in minui/Android.mk Removing minelf/Retouch.h Removing minelf/Retouch.c Auto-merging minadbd/usb_linux_client.c CONFLICT (content): Merge conflict in minadbd/usb_linux_client.c Auto-merging minadbd/adb.h CONFLICT (content): Merge conflict in minadbd/adb.h Auto-merging minadbd/adb.c CONFLICT (content): Merge conflict in minadbd/adb.c Auto-merging minadbd/Android.mk CONFLICT (content): Merge conflict in minadbd/Android.mk Removing make-overlay.py Auto-merging install.h CONFLICT (content): Merge conflict in install.h Auto-merging etc/init.rc CONFLICT (content): Merge conflict in etc/init.rc Auto-merging bootloader.h Auto-merging applypatch/applypatch.c Auto-merging applypatch/Android.mk CONFLICT (content): Merge conflict in applypatch/Android.mk Auto-merging adb_install.cpp CONFLICT (content): Merge conflict in adb_install.cpp Auto-merging Android.mk CONFLICT (content): Merge conflict in Android.mk Automatic merge failed; fix conflicts and then commit the result. Change-Id: I3e0e03e48ad8550912111c7a5c9a140ed0267e2c
| * do sdcard sideloading through the fuse filesystemDoug Zongker2014-07-101-1/+2
| | | | | | | | | | | | | | | | | | Make a fuse filesystem that sits on top of the selected package file on the sdcard, so we can verify that the file contents don't change while being read and avoid copying the file to /tmp (that is, RAM) before verifying and installing it. Change-Id: Ifd982aa68bfe469eda5f839042648654bf7386a1
| * refactor fuse sideloading codeDoug Zongker2014-07-101-0/+13
| | | | | | | | | | | | | | | | | | Split the adb-specific portions (fetching a block from the adb host and closing the connections) out from the rest of the FUSE filesystem code, so that we can reuse the fuse stuff for installing off sdcards as well. Change-Id: I0ba385fd35999c5f5cad27842bc82024a264dd14
| * Use LOCAL_REQUIRED_MODULES for mkfs.f2fsJi-Hwan Lee2014-06-181-5/+3
| | | | | | | | | | | | Instead of LOCAL_ADDITIONAL_DEPENDENCIES. Bug: 15702524 Change-Id: Ic152ae60354bf09eccdb9a85dcd04f0f076a6422
| * Support F2FS for the data partitionJP Abgrall2014-06-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This adds F2FS support - for wiping a device - for the install "format" command. Note: crypto data in "footer" with a default/negative length is not supported, unlike with "ext4". Change-Id: I8d141a0d4d14df9fe84d3b131484e9696fcd8870 Signed-off-by: JP Abgrall <jpa@google.com>
| * Merge "Fix build break caused by vold change"Paul Lawrence2014-03-211-0/+1
| |\
| | * Fix build break caused by vold changePaul Lawrence2014-03-031-0/+1
| | | | | | | | | | | | | | | | | | cryptfs.h now includes sha header from libcrypto folder Change-Id: Icd02c88971aedf96040c3bd9ca759e531546023b
| * | remove pixelflinger from recoveryDoug Zongker2014-03-111-1/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recovery now draws directly to the framebuffer by rolling its own graphics code, rather than depending on libpixelflinger. The recovery UI is modified slightly to eliminate operations that are slow with the software implementation: when the text display / menu is turned on, it now appears on a black background instead of a dimmed version of the recovery icon. There's probably substantial room for optimization of the graphics operations. Bug: 12131110 Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595
| * clean up some warnings when building recoveryDoug Zongker2014-02-141-0/+2
| | | | | | | | Change-Id: I1541534ee6978ddf8d548433986679ce9507d508
| * remove 'retouch' ASLR supportDoug Zongker2014-02-141-1/+0
| | | | | | | | | | | | | | | | Older versions of android supported an ASLR system where binaries were randomly twiddled at OTA install time. Remove support for this; we now use the ASLR support in the linux kernel. Change-Id: I8348eb0d6424692668dc1a00e2416fbef6c158a2
| * program to store unencrypted files in an encrypted filesystemDoug Zongker2014-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uncrypt can read a file on an encrypted filesystem and rewrite it to the same blocks on the underlying (unencrypted) block device. This destroys the contents of the file as far as the encrypted filesystem is concerned, but allows the data to be read without the encryption key if you know which blocks of the raw device to access. uncrypt produces a "block map" file which lists the blocks that contain the file. For unencrypted filesystem, uncrypt will produce the block map without touching the data. Bug: 12188746 Change-Id: Ib7259b9e14dac8af406796b429d58378a00c7c63
| * do verification and extraction on memory, not filesDoug Zongker2014-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes minzip and recovery's file signature verification to work on memory regions, rather than files. For packages which are regular files, install.cpp now mmap()s them into memory and then passes the mapped memory to the verifier and to the minzip library. Support for files which are raw block maps (which will be used when we have packages written to encrypted data partitions) is present but largely untested so far. Bug: 12188746 Change-Id: I12cc3e809834745a489dd9d4ceb558cbccdc3f71
| * recovery: wipe encryption metadata along with data partitionDoug Zongker2013-12-131-1/+1
| | | | | | | | | | | | | | | | | | This assumes that the metadata is correctly defined in fstab. Which apparently some devices don't do. Bug: 8766487 Bug: 12112624 Change-Id: I1b14b9d4c888e9348527984be3dce04bdd9f4de0
| * am fc7eab96: am f4a6ab27: Merge "Add support for ECDSA signatures"Kenny Root2013-10-141-1/+10
| |\ | | | | | | | | | | | | * commit 'fc7eab961f9dc85ee88e8c37ca1dc31a7f7b8331': Add support for ECDSA signatures
| | * Add support for ECDSA signaturesKenny Root2013-10-101-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for key version 5 which is an EC key using the NIST P-256 curve parameters. OTAs may be signed with these keys using the ECDSA signature algorithm with SHA-256. Change-Id: Id88672a3deb70681c78d5ea0d739e10f839e4567
| * | allow CheckKey to request mounting /systemDoug Zongker2013-09-051-0/+1
| |/ | | | | | | | | | | | | Also provide a default implementation of CheckKey that's reasonable for many devices (those that have power and volume keys). Change-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8
* | Fix some module tagsMatt Mower2014-11-041-2/+1
| | | | | | | | | | | | There is no LOCAL_MODULES_TAGS. Fix by combining with LOCAL_MODULE_TAGS. Change-Id: I1cacef2f8123af3632ff6a52aa62c2f2e15ac37d
* | Remove dependence on build hax in makefilesMatt Mower2014-11-031-2/+69
| | | | | | | | | | | | | | | | | | 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
* | display cpu temperature in twrpJenkins2014-10-141-0/+9
| | | | | | | | | | | | | | use TW_NO_CPU_TEMP := true to disable display use TW_CPU_CUSTOM_PATH := path to set custom path Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
* | Update RECOVERY_VARIANT blocking to use project-path-forMatt Mower2014-10-081-5/+9
| | | | | | | | | | | | | | | | | | Using RECOVERY_VARIANT to allow recovery to reside at bootable/recovery-(variant) has changed at CM. project-path-for now handles all the path re-mapping. This is simply a compatibility update to be able to continue using RECOVERY_VARIANT with TWRP in a CM tree. Change-Id: I66769d85b2a111e837f206b1c9a5bc07d6ac0d86
* | Fixes for exfat-fuseCaptain Throwback2014-10-071-2/+4
| | | | | | | | Change-Id: I46a1e7bf115c45616774b0571b17e38777ba87f8
* | Only use SELinux tools from toolbox if not in busyboxMatt Mower2014-09-031-3/+9
| | | | | | | | | | | | | | | | If busybox has SELinux support, we don't need toolbox to provide SELinux specific tools. Check busybox for restorecon to see if SELinux support is present and then adjust the tools built by toolbox based on this. Change-Id: I30a2b036b97ac3e26510d5e0498c52d7a8af36e1
* | Build block TWRP with RECOVERY_VARIANTMatt Mower2014-09-031-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Enable TWRP to reside alongside other recoveries with the naming convention: bootable/recovery(-flag). If TWRP resides at bootable/recovery and a device does not specify RECOVERY_VARIANT, then it will build like normal. If TWRP resides at bootable/recovery-twrp, then its makefiles will only be parsed if a device specifies 'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile warnings/errors (notably, missing DEVICE_RESOLUTION) when another recovery is being built. Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
* | add mtp responder to TWRP.bigbiff bigbiff2014-09-031-4/+9
| | | | | | | | | | | | Big thanks to Dees_Troy for helping with the implementation. Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
* | Support reading since_epoch and secondary brightness filesxNUTx2014-08-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TWFunc::Fixup_Time_On_Boot: Will now try to read /sys/class/rtc/rtc0/since_epoch to correct time, if that fails it will try to use the ats files to correct time. TWFunc::Set_Brightness: One single function to set brightness from both the automated functions and the gui actions. It is able to set a second brightness path if present, it will set them both the same value. Many Sony devices have 2 brightness files in the sysfs that must be set to properly set the brightness. Change-Id: I7ca582109085dfbcb46b8de73ad031e4b7903fca
* | 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
* | Allow custom bootloader msg offset in block miscMatt Mower2014-07-161-0/+4
| | | | | | | | | | | | | | | | Use board define BOARD_RECOVERY_BLDRMSG_OFFSET with a decimal integer to define a custom offset where the bootloader message should be read/written. Change-Id: Id13a23dd41bb7d907b96d657b8e21eb839dfeaa9
* | Track backup and restore progressEthan Yonker2014-07-091-1/+2
| | | | | | | | | | | | | | | | Track backup and restore progress based on the sizes of the files as they are being added to the tar backup file. Update the progress bar based on the sizes of the files. Change-Id: Idf649efa1db3e91830b4b2add86203a3f30042ff
* | Add "include $(CLEAR_VARS)" for 4.4 ROMS (clears LOCAL_BUILT/LOCAL_INSTALLED error)Motorhead19912014-06-301-0/+2
| | | | | | | | Change-Id: Ibbba0ce9c7ebadee40e42b740c83214fd1cd56ac
* | Enable rk30xx hackJ. Carlos Romero2014-04-151-6/+0
| | | | | | | | | | | | Fix problem with erase/restore mtd partitions on Rockchip SoC Change-Id: I3320f711446441cf79e38e9ffb5dfdb6b1717a55
* | Add find file class to search for filesEthan Yonker2014-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | Scan a folder for a file based on file name. First scan the files in the current path, then search real directories and finally search symlinks in that order. Goal is to locate important sysfs files for things like brightness, battery capacity, lun files, etc This implementation just scans for the brightness file for the LCD Change-Id: I8ed3e74a2e2851d58b443718b6e92b50a5491f08
* | Tweak OEM modeEthan Yonker2014-04-041-3/+6
| | | | | | | | Change-Id: Ic440e33fa22aa7b082097366f10b333cc945362a
* | Add option to build TWRP with toolbox instead of busyboxEthan Yonker2014-04-041-0/+2
| | | | | | | | | | | | | | Makes a smaller TWRP Uses mksh for shell Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
* | Allow building of an OEM friendly TWRPEthan Yonker2014-04-041-0/+3
| | | | | | | | | | | | | | | | Disable theming Disable creating the TWRP folder for the settings file Change factory reset on data/media devices to a full wipe Change-Id: I3104282b5dd3f55dfff7c8cf39c72750af08563d
* | Allow disabling legacy propertiesMatt Mower2014-03-271-0/+3
| | | | | | | | | | | | | | Introduce TW_NO_LEGACY_PROPS flag for users that build TWRP in non-kitkat trees and don't need the legacy prop environment. Change-Id: Iacb2d9af7d7069acb3d0a96bb34f32ded6317a20
* | Support pre-KitKat properties for update-binarythat2014-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | Google changed the in-memory format for storing properties in 4.4. Zips containing an older update-binary expect the old format, otherwise assertions on properties in the update script fail. This is just enough of the old property service to copy the properties to the legacy format before running the updater. Change-Id: I404680384bdc5e952609e295029ab0a0faf743a5
* | Restore capabilities to run-as binaryDees Troy2014-02-281-0/+3
| | | | | | | | Change-Id: I9e2b8e9b69c94b94c57143c04b950530490ec33e
* | Add twrpTar binaryEthan Yonker2014-02-121-1/+2
| | | | | | | | Change-Id: I9db1aac350cd2ca02cceccc249ebd2f0b3c3c671
* | Load RTC offset on Qualcomm Krait chips, fixes the broken time & dateVojtech Bocek2014-02-041-0/+7
| | | | | | | | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I04ad07f3e6be961003e063be8c648e191e2f9431
* | Fix make file flag name for minzipEthan Yonker2014-01-281-1/+1
| | | | | | | | Change-Id: I53380ee203c1fe75d37f24f99e36f5c5a62e5b39
* | Create a TWRP Disk Usage Class to retain state about a directory and whether we should skip it in other classes like twrpTar.bigbiff bigbiff2013-12-191-0/+1
| | | | | | | | | | | | Moved Get_Folder_Size to this new class. Change-Id: If0a0220f900eb109581f2eeaf7b76e3f7d6886f1
* | Add getfooter tool for crypto debuggingDees Troy2013-11-111-0/+1
| | | | | | | | Change-Id: I3b9e5f72f3c1c77e41a45d3c94a44f36cc5cbc3c
* | Update decrypt for 4.4Dees Troy2013-11-101-0/+2
| | | | | | | | Change-Id: I8d5d7b6a49890e4707d70de8b429563de0d2ad99
* | Fix building of other utilitiesDees Troy2013-11-031-1/+2
| | | | | | | | | | | | | | | | Fix building all applypatch items Fix building verifier_test (probably will not work right as-is) but at least it builds without errors. Change-Id: I7ab0c04d7d3d2c2e14b57480627e594f89a68b0b
* | Fix merge conflicts and update for 4.4 kitkatDees Troy2013-11-021-5/+6
|\| | | | | | | | | | | | | | | Make a copy of libmincrypt in TWRP source so we do not have to ifdef verifier.cpp for various versions of mincrypt. Remove reboot tool from toolbox (it was removed from 4.4 and did not compile properly on some devices in older trees)
* | Add toolbox_recovery rulesDees Troy2013-10-161-1/+6
| | | | | | | | | | | | Build special limited toolbox with SELinux tools for recovery Change-Id: Ifc76a6bd0468a72081f15ede2a68adf48af8a0f2
* | Make SELinux automatic if presentDees Troy2013-09-121-3/+5
| |
* | Kang in older minzip for building in CM9 & CM7Dees Troy2013-09-101-1/+5
| | | | | | | | CM7 and CM9 do not have libselinux needed in the newer minzip.
* | Update to latest AOSP masterDees_Troy2013-09-041-7/+22
|\| | | | | | | Merge in latest commits from AOSP master and fix merge conflicts
| * Add liblogYing Wang2013-04-101-0/+1
| | | | | | | | | | Bug: 8580410 Change-Id: Ie60dade81c06589cb0daee431611ded34adef8e6
| * Move to using the new unified fstab in recovery.Ken Sumrall2013-02-201-0/+2
| | | | | | | | | | | | | | Instead of reading it's own fstab, have recovery invoke fs_mgr to read the unified fstab. Change-Id: I80c75d2c53b809ac60a4a69f0ef7ebfa707c39e9
| * resolved conflicts for merge of 78afed1c to jb-mr1-dev-plus-aospKenny Root2012-10-171-12/+1
| |\ | | | | | | | | | Change-Id: I861e3a6aa07c448909b2ae54618bba178bd6e457
| | * Remove HAVE_SELINUX guardsKenny Root2012-10-161-12/+1
| | | | | | | | | | | | Change-Id: Ia96201f20f7838d7d9e8926208977d3f8318ced4
| * | Add libm due to libpng dependency.Stephen Hines2012-08-241-0/+1
| |/ | | | | | | Change-Id: I0bdc2df5ef358813587f613a1b50eaa850e95782
* | Change to use HAVE_SELINUX build flagDees_Troy2013-08-291-1/+1
| |
* | Add a TW_NO_TIMEOUT optionRicardo Gomez2013-08-251-0/+3
| | | | | | | | Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
* | Add SELinux supportDees_Troy2013-08-241-4/+9
| | | | | | | | Change-Id: I11e1a3d018d921d96ba08915925b14bf633be6ed
* | Add libselinux for CM10.2 treeDees_Troy2013-08-111-0/+5
| | | | | | | | Change-Id: I94979806935546fa40a87611be5185c14b557377
* | Remove libjpegtwrp and use CM provided libjpegDees_Troy2013-08-111-2/+1
| |
* | Fix MTD MountingDees_Troy2013-07-011-1/+1
| | | | | | | | | | | | | | Pulled part of change from kokotas in this patch set: http://review.teamw.in/#/c/586/ Change-Id: If1c5b1563df16f9c561c94f61010f6a99f36efa0
* | FB2PNG: Add fb2png source to TWRPTalustus2013-07-011-0/+5
| | | | | | | | | | | | | | | | * Add Source of fb2png to TWRP tree * Android.mk by PhilZ-cwm6 * Makefile for CrossCompiling via external toolchan by me (Talustus) Change-Id: If9680688df6e4c9c567f74f46dfc303566b868ba
* | Support encrypted backup filesDees_Troy2013-06-221-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Add new SliderValue GUI widgetVojtech Bocek2013-04-041-1/+0
| | | | | | | | | | | | Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
* | Move all AOSP code out of recovery binaryDees_Troy2013-04-041-26/+30
| | | | | | | | | | | | Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
* | add no fb blankingbigbiff bigbiff2013-03-111-0/+3
| | | | | | | | Change-Id: Iaf771257d8f904807ca6f6c1a6c3d7993abadb85
* | use md5.c for computation of md5sumsbigbiff bigbiff2013-03-071-0/+1
| | | | | | | | | | | | create a framework for computing digests and reading digests in TWRP add space for backwards compatibility with bb md5sum Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
* | Add option for custom battery pathDees_Troy2013-03-011-0/+3
| |
* | Add fast scroll bar to fileselectorVojtech Bocek2013-02-271-1/+3
| | | | | | | | | | | | | | Also fix build problems with libblkid in CM7 Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
* | use libblkid to get filesystem typebigbiff bigbiff2013-02-251-2/+3
| | | | | | | | we can now use libblkid to detect exfat
* | Configurable timeout and brightness settingsDees_Troy2013-02-201-0/+6
| | | | | | | | Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
* | support devices without bootpartitionChampionSwimmer2013-02-191-0/+3
| | | | | | | | | | | | | | | | | | | | if device has no /boot partition, then add the following flag in BoardConfig.mk TW_HAS_NO_BOOT_PARTITION Signed-off-by: ChampionSwimmer <android@championswimmer.tk> Change-Id: I92b36b2e6ca690e2422b36004ae9bb315d24a7c2
* | Add TW_USE_MODEL_HADWARE_ID_FOR_DEVICE_ID parameter for correct model identificationAnatoly Smaznov2013-02-191-2/+4
| | | | | | | | Change-Id: Ic6440c624b5cfbdb0f24681461748a0da16bf95e
* | Add write buffer for tar writesDees_Troy2013-02-071-1/+2
| | | | | | | | | | | | | | update fuse to 2.9.2 catch return from unlink so that we don't print error messages when things work Change-Id: I1115039a0fa5d9d73f78ef1abd79755d7ffd9d96
* | Fix fail over to vfat from exfatDees_Troy2013-02-011-0/+3
| | | | | | | | | | | | | | Fix issues with MD5 checking using chdir and leaving the working dir in a subfolder that prevented unmounting sometimes. Change-Id: I01a563d722f474297ed3f7a30064c3a61748ade3
* | exFAT improvements, fixesDees_Troy2013-01-281-7/+7
| | | | | | | | | | | | | | | | | | 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
* | move libexfat and fuse to be compiled with mkexfatfsbigbiff bigbiff2013-01-221-3/+3
| |
* | change fuse to be compiled with TW_INCLUDE_FUSE_EXFATbigbiff bigbiff2013-01-191-2/+2
| | | | | | | | | | update exfat_fuse to newest updates Always compile mkexfatfs
* | Add libsparse if it existsDees_Troy2013-01-101-0/+4
| |
* | Add libtar to TWRP instead of using busybox tarbigbiff bigbiff2013-01-091-5/+14
| | | | | | | | | | | | | | 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-2/+14
| | | | | | | | Change-Id: I418680e59372160dabfe3e2d5f0208229aa151ae
* | Work around MEMERASE ioctl for rk3066 compatibilitySergey 'Jin' Bostandzhyan2013-01-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | Due to a kernel bug and no available sources we have to work around the MEMERASE ioctl - if used, it hangs and never returns. I straced the original recovery executable and could see that it is simply calling write() with a bunch of zeroes instead of using MEMERASE. Added a hack that does the same and now the resulting TWRP recovery image works. Change-Id: I1b1c1c9e870e350776346bdca5d442c7ef565aa0
* | redo fix permissions in c++ for faster changesbigbiff bigbiff2012-10-101-0/+1
| |
* | Create busybox symlinks during compileDees_Troy2012-10-021-0/+14
| |
* | Revert busybox for CM7 compatibility, add exclamation point to format dataDees_Troy2012-09-281-14/+0
| |
* | Create symlinks at compile time for busyboxDees_Troy2012-09-271-0/+11
| |
* | Update sdcard partitioning to C++Dees_Troy2012-09-271-1/+0
| |
* | Port reboot functions to C++Dees_Troy2012-09-271-3/+1
| |
* | Add backup size checkingDees_Troy2012-09-261-1/+1
| | | | | | | | | | Converted bootloader.cpp to TWRP and removed AOSP fstab parsing from startup
* | Convert makelist to C++Dees_Troy2012-09-261-1/+1
| |
* | Add and improve OpenRecoveryScript supportDees_Troy2012-09-201-1/+2
| | | | | | | | | | Improve zip finding in ORS engine Add support for restoring with just a backup name
* | Cleanup extra-functionsDees_Troy2012-09-181-1/+0
| |
* | Update backup and restore code, adb sideloadDees_Troy2012-09-171-3/+3
| | | | | | | | | | | | | | 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-4/+4
| | | | | | | | | | | | | | 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-1/+2
| | | | | | | | | | | | | | | | 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-2/+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.
* | Move device ID code to data managerDees_Troy2012-09-111-0/+3
| |
* | Hax to make it bootDees_Troy2012-09-061-1/+1
| |
* | TWRP-ify AOSP codeDees_Troy2012-09-051-24/+168
|/ | | | | | | 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
* Use the static version of libsparseJoe Onorato2012-07-241-1/+1
| | | | Change-Id: I664f8dc7939f8f902e4775eaaf6476fcd4ab8ed2
* Multiple modules with the same name are going away.Joe Onorato2012-07-221-35/+59
| | | | Change-Id: I4154db066865d6031caa3c2c3b94064b2f28076e
* Link against libsparseColin Cross2012-07-181-2/+2
| | | | | | libext4_utils requires libsparse, link against it as well. Change-Id: I4d6aec0e5edcf1ed42118b7b77adcded2858d3dd
* resolved conflicts for merge of 0b1fee1b to masterKenny Root2012-03-311-0/+12
|\ | | | | | | Change-Id: I2e8298ff5988a96754f56f80a5186c9605ad9928
| * Extend recovery and updater to support setting file security contexts.Stephen Smalley2012-03-301-1/+2
| | | | | | | | | | | | | | Extend minzip, recovery, and updater to set the security context on files based on the file_contexts configuration included in the package. Change-Id: Ied379f266a16c64f2b4dca15dc39b98fcce16f29
| * Add libselinux to LOCAL_STATIC_LIBRARIES wherever libext4_utils is used.Stephen Smalley2012-01-241-0/+11
| | | | | | | | | | | | | | libext4_utils now calls libselinux in order to determine the file security context to set on files when creating ext4 images. Change-Id: I09fb9d563d22ee106bf100eacd4cd9c6300b1152
* | libz is a superset of libunz, so we don't need both.Elliott Hughes2012-01-311-2/+2
| | | | | | | | Change-Id: I082995c338feaf5d11288300768624cd51b027a4
* | support "sideload over ADB" modeDoug Zongker2012-01-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than depending on the existence of some place to store a file that is accessible to users on an an unbootable device (eg, a physical sdcard, external USB drive, etc.), add support for sideloading packages sent to the device with adb. This change adds a "minimal adbd" which supports nothing but receiving a package over adb (with the "adb sideload" command) and storing it to a fixed filename in the /tmp ramdisk, from where it can be verified and sideloaded in the usual way. This should be leave available even on locked user-build devices. The user can select "apply package from ADB" from the recovery menu, which starts minimal-adb mode (shutting down any real adbd that may be running). Once minimal-adb has received a package it exits (restarting real adbd if appropriate) and then verification and installation of the received package proceeds. Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
* | move key processing to RecoveryUIDoug Zongker2011-11-041-2/+3
| | | | | | | | | | | | | | | | | | Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so it can be used by devices without screens. Remove the UIParameters struct and replace it with some new member variables in ScreenRecoveryUI. Change-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414
* | C++ class for device-specific codeDoug Zongker2011-10-311-7/+7
| | | | | | | | | | | | | | | | | | | | Replace the device-specific functions with a class. Move some of the key handling (for log visibility toggling and rebooting) into the UI class. Fix up the key handling so there is less crosstalk between the immediate keys and the queued keys (an increasing annoyance on button-limited devices). Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
* | temporarily remove verifier_test binaryDoug Zongker2011-10-311-6/+6
| | | | | | | | Change-Id: I61f249861b27180225fb786901275d2da611531b
* | refactor ui functions into a classDoug Zongker2011-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | Move all the functions in ui.c to be members of a ScreenRecoveryUI class, which is a subclass of an abstract RecoveryUI class. Recovery then creates a global singleton instance of this class and then invoke the methods to drive the UI. We use this to allow substitution of a different RecoveryUI implementation for devices with radically different form factors (eg, that don't have a screen). Change-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9
* | turn recovery into a C++ binaryDoug Zongker2011-10-311-7/+7
|/ | | | Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
* Remove the simulator target from all makefiles.Jeff Brown2011-07-121-4/+0
| | | | | | Bug: 5010576 Change-Id: Ib465fdb42c8621899bea15c04a427d7ab1641a8c
* Fix x86 build.Ying Wang2011-02-091-3/+0
| | | | Change-Id: Iada6268b0a72ee832113ea397334cc7950a37051
* remove encrypted filesystem code from recoveryDoug Zongker2011-01-181-2/+1
| | | | | | | This was never used; encrypted filesystems are being done a different way now. Change-Id: I519c57b9be44d001f0b81516af7bfc252069892b
* remove the notion of "root path"; support mixed flash typesDoug Zongker2010-09-211-2/+3
| | | | | | | | | | | | Remove the wacky notion of "roots" and "root paths" (those things that look like "FOO:some/path" instead of just "/foo/some/path"). Let each device specify its own table of available partitions and how to mount them (needed for devices that use both MTD/yaffs2 and EMMC/ext4 partitions). (Cherrypicked from gingerbread w/slight edits.) Change-Id: I2479ce76b13e73f1d12035c89386c3a82b3edf51
* Working ASLR implementationHristo Bojinov2010-08-021-0/+1
| | | | | | | | | | Separate files for retouch functionality are in minelf/* ASLR for shared libraries is controlled by "-a" in ota_from_target_files. Binary files are self-contained. Retouch logic can recover from crashes. Signed-off-by: Hristo Bojinov <hristo@google.com> Change-Id: I76c596abf4febd68c14f9d807ac62e8751e0b1bd
* support userdata and cache partitions using emmc/ext4 instead of mtd/yaffsDoug Zongker2010-06-301-1/+8
| | | | Change-Id: I827af624c9ec7c64decb702de8c0310cf19b4141
* Encrypted File Systems part 3. Recovery changes.Oscar Montemayor2010-03-151-1/+1
| | | | Change-Id: I932f73a6f937aac061128e1134eab08c30f0471d
* relocate applypatch; add type system and new functions to edifyDoug Zongker2010-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | - Move applypatch to this package (from build). - Add a rudimentary type system to edify: instead of just returning a char*, functions now return a Value*, which is a struct that can carry different types of value (currently just STRING and BLOB). Convert all functions to this new scheme. - Change the one-argument form of package_extract_file to return a Value of the new BLOB type. - Add read_file() to load a local file and return a blob, and sha1_check() to test a blob (or string) against a set of possible sha1s. read_file() uses the file-loading code from applypatch so it can read MTD partitions as well. This is the start of better integration between applypatch and the rest of edify. b/2361316 - VZW Issue PP628: Continuous reset to Droid logo: framework-res.apk update failed (CR LIBtt59130) Change-Id: Ibd038074749a4d515de1f115c498c6c589ee91e5
* bump updater API version to 3; deprecate firmware update commandDoug Zongker2010-02-031-2/+1
| | | | | | | | | Remove support for the HTC-specific "firmware" update command and the corresponding edify function write_firmware_update(). This functionality is now done by an edify extension library that lives in vendor/htc. Change-Id: I80858951ff10ed8dfff98aefb796bef009e05efb
* am 9b430e11: am 73ae31ce: add a simple unit test for the OTA package verifierDoug Zongker2009-12-111-0/+16
|\ | | | | | | | | | | | | Merge commit '9b430e11d6c4fb907d0aa96667142e2c00585e09' * commit '9b430e11d6c4fb907d0aa96667142e2c00585e09': add a simple unit test for the OTA package verifier
| * add a simple unit test for the OTA package verifierDoug Zongker2009-12-101-0/+16
| |
* | Recovery changes for Encrypted File Systems.Oscar Montemayor2009-12-101-8/+9
|/ | | | This change enables/disables the Encrypted file systems feature. It reads some properties form the data partition, wipes the partition out, and then rewrites the proper properties again into the data partition to signal that encrypted FS are enabled.
* resolved conflicts for merge of 64893ccc to masterDoug Zongker2009-07-161-3/+1
|\
| * remove amendDoug Zongker2009-07-151-3/+1
| | | | | | | | | | | | | | | | Yank all the code to install OTA packages out of the recovery binary itself. Now packages are installed by a binary included in the package (run as a child of recovery), so we can make improvements in the installation process without waiting for a new release to use them.
* | resolved conflicts for merge of fb2e3af3 to masterDoug Zongker2009-06-181-0/+3
|\|
| * let the "firmware" command take the file straight from the packageDoug Zongker2009-06-181-0/+3
| | | | | | | | | | | | | | | | To do a firmware-install-on-reboot, the update binary tells recovery what file to install before rebooting. Let this file be specified as "PACKAGE:<foo>" to indicate taking the file out of the OTA package, avoiding an extra copy to /tmp. Bump the API version number to reflect this change.
| * fix sim build in donut, tooDoug Zongker2009-06-121-4/+4
| |
* | am 9931f7f3: edify extensions for OTA package installation, part 1Doug Zongker2009-06-121-0/+2
|\| | | | | | | | | | | | | Merge commit '9931f7f3c1288171319e9ff7d053ebaad07db720' * commit '9931f7f3c1288171319e9ff7d053ebaad07db720': edify extensions for OTA package installation, part 1
| * edify extensions for OTA package installation, part 1Doug Zongker2009-06-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the following edify functions: mount unmount format show_progress delete delete_recursive package_extract symlink set_perm set_perm_recursive This set is enough to extract and install the system part of a (full) OTA package. Adds the updater binary that extracts an edify script from the OTA package and then executes it. Minor changes to the edify core (adds a sleep() builtin for debugging, adds "." to the set of characters that can appear in an unquoted string).
| * AI 144130: Don't build OTA package keys into the recovery binary; readDoug Zongker2009-04-021-13/+0
| | | | | | | | | | | | | | them from an external file in the recovery image. Use the test-keys for all builds. Automated import of CL 144130
| * AI 143128: Use PNG instead of BMP for recovery image icons. This savesDoug Zongker2009-03-271-1/+1
| | | | | | | | | | | | about 60k from the recovery and system images. Automated import of CL 143128
* | fix simulator build by excluding more of recoveryDoug Zongker2009-06-121-3/+4
| |
* | split out device-specific recovery UI code into vendor directoriesDoug Zongker2009-06-111-6/+11
| | | | | | | | | | | | | | | | | | Take some device-specific details of the recovery UI (eg, what keys to press to bring up the interface and perform actions, exact text of the menu, etc.) and split them out into separate C functions. Arrange to take implementations of those functions from the appropriate vendor directory at build time. Provide a default implementation in case no vendor-specific one is available.
* | AI 144132: am: CL 144130 Don't build OTA package keys into the recovery binary; readDoug Zongker2009-04-021-13/+0
| | | | | | | | | | | | | | | | | | them from an external file in the recovery image. Use the test-keys for all builds. Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 144132
* | AI 143289: am: CL 143128 Use PNG instead of BMP for recovery image icons. This savesDoug Zongker2009-03-281-1/+1
|/ | | | | | | | about 60k from the recovery and system images. Original author: dougz Merged from: //branches/donutburger/... Automated import of CL 143289
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-041-0/+60
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-041-60/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-181-0/+3
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+57