summaryrefslogtreecommitdiffstats
path: root/Android.mk (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Build `recovery` with Soong.Tao Bao2018-08-101-188/+6
| | | | | | | | | | | | | | Fixes: 110380063 Test: `mmma -j bootable/recovery` with aosp_taimen-userdebug Test: Build and boot into recovery on taimen. Check the basic functionalities (`Apply update from ADB`, `View recovery logs`, `Run graphics test`). Test: Run recovery_unit_test and recovery_component_test on marlin. Test: Modify `recovery.cpp` locally to trigger the call to is_battery_ok(). Check that the battery info is reported correctly. Test: `build/soong/build_test.bash --dist` Change-Id: I391eb201d57c760e457ba2bf2410ceb72596795c
* Merge "updater_sample: Move to Soong."Tao Bao2018-08-101-1/+0
|\
| * updater_sample: Move to Soong.Tao Bao2018-08-101-1/+0
| | | | | | | | | | Test: Follow the steps in "Running tests" in updater_sample/README.md. Change-Id: I70c3239e3daea0dcdadf02f68abe7d6aafa67a2e
* | `recovery` uses more shared libraries.Tao Bao2018-08-081-12/+31
|/ | | | | | | | | | Bug: 110380063 Test: `m -j installclean && mmma -j bootable/recovery` with aosp_taimen-userdebug Test: Build (`m -j bootimage`) and boot into recovery. Check that `adb sideload` and `Run graphics test` both work. Test: Run recovery_unit_test and recovery_component_test on marlin. Change-Id: Ie6ed0e7cafa352d5faff9d1b6ccef724a0415e65
* Revert "Build and use minadbd as a shared library."Tao Bao2018-08-081-6/+1
| | | | | | | | | | | | | | | | | | | This reverts commit 4fd4f89591fe826cf26167bccaeb2802f14fbdc8. The reverted CL has a side effect that unintentionally installs a copy of libminadbd_services.so to the system image. This breaks the check with `build/soong/build_test.bash --dist` which detects and prevents vendor modules from installing files to the system image. Prior to fully converting `recovery` to be built with Soong, we have to statically link recovery-specific modules into `recovery`. Bug: 110380063 Test: `m -j bootimage` with aosp_marlin-userdebug Test: Run minadbd_test on marlin. Test: Boot into recovery and verify that sideloading still works. Test: `build/soong/build_test.bash --dist` Change-Id: I290d55c82e17aa60a5afdf2ff7f896afc4dae8b3
* Merge "Build and use minadbd as a shared library."Tao Bao2018-08-071-1/+6
|\
| * Build and use minadbd as a shared library.Tao Bao2018-08-071-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former `minadbd` module is now built as a shared library (`libminadbd_services.so`) that serves sideloading under recovery, with a dynamic dependency on `libadbd.so`. This allows sharing and reusing libadbd code on device (both of `adbd` and `recovery` now uses `libadbd.so`). As a result, it reduces the size of `recovery` binary from 1407360-byte to (1272880 + 33032)-byte (aosp_marlin-userdebug). Bug: 78793464 Test: `m -j bootimage` with aosp_marlin-userdebug Test: Run minadbd_test on marlin. Test: Boot into recovery and verify that sideloading still works. Change-Id: I6c2bc3d351d5af71220a9b9f956c8c039e52c781
* | Merge "Dynamically load device-specific recovery UI lib."Tao Bao2018-08-071-6/+79
|\| | | | | | | | | | | am: 9cf9b689d9 Change-Id: I73e3fdc01ff4b51fd18272980ce1360b0bc069f7
| * Dynamically load device-specific recovery UI lib.Tao Bao2018-08-061-6/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to statically link the device-specific recovery UI extension (`TARGET_RECOVERY_UI_LIB`) into `recovery`. Such a logic can't be easily migrated to Soong, as modules specified by `TARGET_RECOVERY_UI_LIB` may not be built with Soong. Instead of porting all the device-specific codes over, this CL builds and installs the UI lib as a shared library with Android.mk. `recovery` dlopen(3)'s and dlsym(3)'s `make_device` to invoke the device-specific UI lib on start. Note that in order to make dlopen(3) actually working, we have to switch `recovery` to be dynamically linked (we will make the move later anyway). Bug: 110380063 Test: Build and boot into marlin recovery image. Check that device-specific recovery UI is successfully loaded. Change-Id: Ia9861c7559a95f3f50676534540c0cb87cae4574
* | Merge "minui: Move to Soong."Tao Bao2018-08-061-1/+0
|\| | | | | | | | | | | am: f2bc68cfe1 Change-Id: Iab9a892a3d4d691884e4709c288de1d122d67473
| * minui: Move to Soong.Tao Bao2018-08-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | Note that although libminui says "shared_libs" in Android.bp file, `recovery` binary will still statically link the libs, until we drop the `LOCAL_FORCE_STATIC_EXECUTABLE := true` flag from `recovery` module. Bug: 110380063 Test: `mmma -j bootable/recovery` with aosp_taimen-userdebug Test: Boot into recovery and `Run graphics test`. Change-Id: I48785d161dfe52eb01667e938d9c3f0a497b61a2
* | Merge "ui: Read custom recovery UI values via system property."Tao Bao2018-08-041-48/+0
|\| | | | | | | | | | | am: 2117b4bd07 Change-Id: Ia9e2d805f2e90b9be8426010581a32d0b27fe8e6
| * ui: Read custom recovery UI values via system property.Tao Bao2018-08-011-48/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The matching change to build system now writes these values as build properties for recovery image. This allows us dropping the dependency on Android.mk (as well as having more flexibility to do UI customization). Also rename a few constant names, as the naming doesn't fully follow the style guide (which reads "whose value is fixed for the duration of the program"). Bug: 110380063 Test: Build and flash recovery image on taimen, which uses custom margin height. Check the UI and choose `Run graphics test`. Change-Id: I2c50326123639cb36022f51b62cdeed925d77ba7
* | Merge "Move recovery from /sbin to /system/bin"Hridya Valsaraju2018-07-271-1/+1
|\| | | | | | | | | | | am: 4c80768796 Change-Id: I543608d884f1cfe1fea59e78a4a47c6d6c3be4a1
| * Move recovery from /sbin to /system/binHridya Valsaraju2018-07-271-1/+1
| | | | | | | | | | | | | | | | | | Executables should be in /system/bin rather than sbin. Bug: 78793464 Test: boot into recovery, try adb sideload Change-Id: I194589119a099d29e56b0648f0906a5ae2aa6770
* | Revert "Make recovery libraries shared / recovery_available"Hridya Valsaraju2018-07-231-7/+0
| | | | | | | | | | | | | | | | This reverts commit c936a6961940a15f7f95befcf35425bad8fa4f7c. Reason for revert: b/111734137 Change-Id: Ie9c1fdc75d6e87dba7019c4e6d1799af25c2f94a
* | Make recovery libraries shared / recovery_availableJerry Zhang2018-07-201-0/+7
| | | | | | | | | | | | | | | | Test: compiles Bug: 78793464 Change-Id: Iff64bc1a597e70f749a9d825f7d386baa427be3d Merged-In: Iff64bc1a597e70f749a9d825f7d386baa427be3d (cherry picked from commit 92969c49dce519803ed0a1986781c474b1bbc82f)
* | Merge "e2fsdroid and mke2fs are dynamic executable in recovery partition"Jiyong Park2018-06-211-2/+2
|\| | | | | | | | | | | am: 9b5d4ea20f Change-Id: I017a76c320f29baff3183b0156c1fdf2deed66bf
| * e2fsdroid and mke2fs are dynamic executable in recovery partitionJiyong Park2018-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The two utilities are now converted to dynamic executables as shared libraries are supported in recovery mode. As part of the conversion, their location has moved from /sbin to /system/bin. Reflect the change in the program 'recovery' Bug: 79146551 Test: adb reboot recovery, and select 'Wipe data/factory reset'. The data partition is formatted and there is no selinux denial. Change-Id: Ie7cfc4c50ab1e6767e4a5170533ccf826ec7d7f3
* | Merge "Drop the dependency on AB_OTA_UPDATER flag."Tao Bao2018-06-191-4/+0
|\| | | | | | | | | | | am: 9fb0d89583 Change-Id: Id57bbf9ba9d8e4fe905dc183f0655f1b24db89fd
| * Drop the dependency on AB_OTA_UPDATER flag.Tao Bao2018-06-191-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shortens the gap between A/B and non-A/B builds, by replacing the dependency on build-time flag with runtime detection instead. It also allows building and testing both paths regardless of the target OTA type. The size increase to /sbin/recovery looks negligible (< 0.01%). - marlin: increased from 2084928 to 2085024; - angler: increased from 2084776 to 2084896. Test: Run recovery_component_test on angler and marlin. Test: Sideload an A/B OTA package on marlin. Test: Sideload a non-A/B OTA package on angler. Change-Id: I1d927d1ede9713fb42f73b4fe324aa5705ee6f99
* | Merge "recovery: add --fsck_unshare_blocks option for adb remount" am: bda4495176David Anderson2018-06-011-0/+8
|\| | | | | | | | | | | am: b0d9b3594b Change-Id: I86d3af476e87184e653de38cdb4faa1c9975ccba
| * recovery: add --fsck_unshare_blocks option for adb remountDavid Anderson2018-05-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | Allow "adb remount" on deduplicated filesystems to reboot into recovery and run e2fsck to undo deduplication. The e2fsck binary is copied from the system partition into tmpfs, and the system partition is unmounted so e2fsck can run safely. Bug: 64109868 Test: recovery with --fsck_unshare_blocks; adb remount Change-Id: I7558749b018b58f3c4339e51a95831dbd5be1ae3
* | Merge "tools: Move to Soong." am: 6b16093b29Tao Bao2018-05-291-1/+0
|\| | | | | | | | | | | am: 9016deefe4 Change-Id: I1c8b1dd470279e3e5b8ca15c76dfe09691257bd6
| * Merge "tools: Move to Soong."Tao Bao2018-05-291-1/+0
| |\
| | * tools: Move to Soong.Tao Bao2018-05-171-1/+0
| | | | | | | | | | | | | | | | | | Test: `mmma -j bootable/recovery/` Test: Build and run RecoveryLocalizer on device. Change-Id: I3359223c82bd670c94ad51296cb8b357b04f5349
| * | Move stuff from recovery into librecovery.Tao Bao2018-05-171-42/+39
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Move most source files into librecovery so they become testable. Only recovery_main.cpp and logging.cpp are built into recovery module, as they perform one-time setup (e.g. setting up logger). Test: `mmma -j bootable/recovery` with aosp_{angler,bullhead,fugu,dragon,marlin}-userdebug Test: recovery_host_test; recovery_unit_test; recovery_component_test; recovery_manual_test Test: Build and boot into recovery image on angler. Change-Id: Ic4444f87a2f123557c71085f81dc2b2764c05ed8 Merged-In: Ic4444f87a2f123557c71085f81dc2b2764c05ed8
* | Move stuff from recovery into librecovery.Tao Bao2018-05-171-55/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move most source files into librecovery so they become testable. Only recovery_main.cpp and logging.cpp are built into recovery module, as they perform one-time setup (e.g. setting up logger). Test: `mmma -j bootable/recovery` with aosp_{angler,bullhead,fugu,dragon,marlin}-userdebug Test: recovery_host_test; recovery_unit_test; recovery_component_test; recovery_manual_test Test: Build and boot into recovery image on angler. Change-Id: Ic4444f87a2f123557c71085f81dc2b2764c05ed8 (cherry picked from commit bf4c006d7bc8a4517c82399bbffd9cb09971c0b4)
* | Merge "Clean up the Makefile for recovery and tests." am: 1f0b9962b0Tao Bao2018-05-121-44/+51
|\| | | | | | | | | | | am: 0c2998ffe3 Change-Id: I5d4765279fa10317e7f8d61cc4f0972baf10040e
| * Clean up the Makefile for recovery and tests.Tao Bao2018-05-121-44/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reorder librecovery and librecovery_ui, so that librecovery stays closer to recovery (in preparation for later changes that move more files between the two). For the libraries in LOCAL_STATIC_LIBRARIES, reorder them based on the dependency - local modules coming first, with external libraries near the end. Sort the local / external modules, unless a specific order is needed. In tests/Android.mk, split the monolithic list of LOCAL_STATIC_LIBRARIES based on modules. This makes adding / finding libraries easier. There's no functionality in this CL. Test: mmma -j bootable/recovery Change-Id: I6836be574df565001ae9cd3d466a2b6460d90d08
* | Merge "Move device.cpp into librecovery_ui." am: db6dc14bffTao Bao2018-05-111-7/+10
|\| | | | | | | | | | | am: fb8636f48f Change-Id: I18cad42da6f9f560c3ed1568a20889419520cd21
| * Merge "Move device.cpp into librecovery_ui."Tao Bao2018-05-111-7/+10
| |\
| | * Move device.cpp into librecovery_ui.Tao Bao2018-05-111-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | librecovery_ui will be exposed for device-specific RecoveryUI. With the current code structure, 'device.h' and 'ui.h' will always be needed in order to implement device-specific RecoveryUI. Bug: 76436783 Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug; `mmma -j bootable/recovery` respectively. Change-Id: I15e8851b230a65526ac9310e0ee6621b7daea589
* | | Merge "tests: Add tests for ScreenRecoveryUI." am: 8c6f699b36Tao Bao2018-05-111-7/+8
|\| | | | | | | | | | | | | | | | | am: ca88c67135 Change-Id: I238b8b412046c883863828d2b7578d51dadef9e0
| * | Merge "tests: Add tests for ScreenRecoveryUI."Tao Bao2018-05-111-8/+8
| |\ \ | | |/ | |/|
| | * tests: Add tests for ScreenRecoveryUI.Tao Bao2018-05-091-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support that, this CL adds Paths::set_resource_dir() to override the default resource dir ("/res/images/") that's only available under recovery. Note that since there're external modules depending on libminui, it adds a separate function of res_set_resource_dir(), instead of requiring the dependency on libotautil for everyone. Test: mmma -j bootable/recovery Test: Run recovery_unit_test on marlin. Change-Id: I0a7dcf4476808bea9e634eaffc9676f6cbaf92b7
* | | Merge "recovery: Configure device menu based on runtime info." am: e498ef2f03Tao Bao2018-05-111-4/+0
|\| | | | | | | | | | | | | | | | | am: bd32e1b50b Change-Id: Id611c10a6f84afdec38ca01d6932f4c964f9c2ac
| * | recovery: Configure device menu based on runtime info.Tao Bao2018-05-111-4/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | Drop the dependency on build time flag of AB_OTA_UPDATER when compiling device.cpp. Note that AB_OTA_UPDATER still guards the package install behavior (install.cpp). This can be extended to cover the entry of "Apply update from SD card". Test: Build and boot into recovery on angler and walleye respectively. Check the recovery menu. Change-Id: I36a6a6b4101ba61d4d374e32353c36cc5716f9ce
| * recovery: Refactor logging code into logging.cppJerry Zhang2018-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | Move common logging related functions to rotate_logs.cpp, and rename that to logging.cpp. Test: Recovery works Bug: 78793464 Merged-In: I00f20a79a296680122b8437d54a87897c5cb2fc7 Change-Id: I00f20a79a296680122b8437d54a87897c5cb2fc7
* | recovery: Refactor logging code into logging.cppJerry Zhang2018-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | Move common logging related functions to rotate_logs.cpp, and rename that to logging.cpp. Test: Recovery works Bug: 78793464 Change-Id: I00f20a79a296680122b8437d54a87897c5cb2fc7 (cherry picked from commit 3c3f211d1e5698da6eea9e83584acb2dee4ca46e)
* | Merge changes I1cc5d702,I32ab9854 am: 420f7f8df4android-build-prod (mdb)2018-05-041-0/+1
|\| | | | | | | | | | | am: c4ba6b738f Change-Id: I7696fb68e13e214ee830b9de1bf66dc6f1cac691
| * Move reboot() from common.h into otautil/sysutil.h.Tao Bao2018-05-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This breaks the dependency on common.h (which belongs to recovery/librecovery) from librecovery_ui. reboot() is now owned by libotautil, which is expected to be a leaf node to be depended on. With the change, recovery and updater also share the same reboot() code now. Test: mmma -j bootable/recovery Change-Id: I1cc5d702cfe49302048db33d31c9c87ddc97ac71
| * recovery: Split main() into recovery_main.cpp.Tao Bao2018-05-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This prepares for moving more codes from recovery into librecovery, so that they will become more easily testable. recovery_main.cpp will be the source code for recovery module, with the rest moved into librecovery. recovery_main.cpp mainly does the initializations, such as setting up the logger. Test: mmma -j bootable/recovery Test: recovery_component_test Test: Build and boot into recovery image on marlin. Change-Id: I8e846524546b6f3f0e32ed869e851f62261eef23 Merged-In: I8e846524546b6f3f0e32ed869e851f62261eef23
* | recovery: Split main() into recovery_main.cpp.Tao Bao2018-05-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This prepares for moving more codes from recovery into librecovery, so that they will become more easily testable. recovery_main.cpp will be the source code for recovery module, with the rest moved into librecovery. recovery_main.cpp mainly does the initializations, such as setting up the logger. Test: mmma -j bootable/recovery Test: recovery_component_test Test: Build and boot into recovery image on marlin. Change-Id: I8e846524546b6f3f0e32ed869e851f62261eef23 (cherry picked from commit c241cb662440551eb0d2f42345f7ee08cf60a7dd)
* | Merge "Merge libmounts into libotautil." am: 686353215fandroid-build-prod (mdb)2018-04-281-1/+0
|\| | | | | | | | | | | am: cddf5dbf67 Change-Id: I57bcd1195084d2e60861aa5b410e2eb50c41c3c3
| * Merge libmounts into libotautil.Tao Bao2018-04-281-1/+0
| | | | | | | | | | | | | | | | | | Export its header (mounts.h) from there, and drop the dot dot dependency from libupdater / updater. Test: mmma bootable/recovery Test: recovery_component_test Change-Id: Ic26a6b9b78a34dbe1f178b138f3abaafffbec44c
* | Merge "Rename the dir for SystemUpdaterSample." am: a544bfab2bandroid-build-prod (mdb)2018-04-261-1/+1
|\| | | | | | | | | | | am: 4b52553cbb Change-Id: If4113d931c95cb0e076035a384a9a5193e4a8369
| * Rename the dir for SystemUpdaterSample.Tao Bao2018-04-261-1/+1
| | | | | | | | | | | | | | Also replace the occurrence in README.md and PREUPLOAD.cfg. Test: mmma -j bootable/recovery Change-Id: I04c0ef00dd64f49e008ad2a4a2c1e8eaed76bf8d
* | Merge "update_verifier: Move to Soong." am: ed022fccdfTao Bao2018-04-241-1/+0
|\| | | | | | | | | | | am: 9bc286dd71 Change-Id: I17da945eaa609f40d9601109c435110599ed88f6
| * update_verifier: Move to Soong.Tao Bao2018-04-201-1/+0
| | | | | | | | | | Test: mmma -j bootable/recovery Change-Id: I3a3574c89318304231c01f7633d32ece31df098c
* | Merge "Disable lld where it fails." am: 0c8eea86f9Chih-Hung Hsieh2018-04-161-0/+4
|\| | | | | | | | | | | am: dd2277a9bd Change-Id: Ic245166068d1c87a1fbcb2fa36a0141914e9cd34
| * Disable lld where it fails.Chih-Hung Hsieh2018-04-161-0/+4
| | | | | | | | | | | | Bug: 77543887 Test: make checkbuild and boot Change-Id: I4134a8eec592dac347c84cc7dc3f9f99f27bc50c
* | Use the non-LTO, non-PGO version of libhwbinderPirama Arumuga Nainar2018-04-101-1/+1
|\ \ | | | | | | | | | | | | | | | am: 2ca4a403e7 Change-Id: Ic2cf355dd9faa2ed1c04f2673a41974df2c9f4a9
| * | Use the non-LTO, non-PGO version of libhwbinderPirama Arumuga Nainar2018-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: http://b/77320844 Android.mk doesn't have support for PGO either. This causes linker error (about missing __llvm_profile symbols) in the PGO-instrumentation enabled builds in the release branch. Test: m ANDROID_PGO_INSTRUMENT=ALL Change-Id: Ib5dfdea88073bd95da2cd02e92c85bfffcca80d6
* | | Merge "Use non-LTO variant of libhwbinder" into pi-devYi Kong2018-04-061-1/+1
|\| | | | | | | | | | | | | | | | | am: 7fdb6355e4 Change-Id: Ib78dee41815c782e0377d2e1fcb3754010ec8bb2
| * | Use non-LTO variant of libhwbinderYi Kong2018-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | ... as a workaround for build system does not currently infer non-LTO usage from Android.mk. Test: m Bug: 77320844 Change-Id: I6e9954b895051cc20408a30d0761e164e4c5bfd9
| * | recovery: add libhidl-gen-utils depedencyYifan Hong2018-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | introduced as a depedency to libvintf. Test: builds Bug: 73556059 Change-Id: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb Merged-In: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
* | | Merge "Move a few modules to Soong." am: d408a865afTao Bao2018-04-021-83/+2
|\ \ \ | | |/ | |/| | | | | | | | | | am: 47be7bcdba Change-Id: Iba006e5a0df67382f258d1ba60728f4c54003360
| * | Merge "Move a few modules to Soong."Treehugger Robot2018-04-021-83/+2
| |\ \
| | * | Move a few modules to Soong.Tao Bao2018-03-271-83/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libmounts librecovery_ui_default librecovery_ui_wear librecovery_ui_vr libverifier recovery-persist recovery-refresh They are all trivially converted. Test: mmma -j bootable/recovery Change-Id: Id783b3eec32bd15e74f42df17053732db5666675
* | | | Merge "Create folder for SystemUpdate sample app." am: f0e2811092Jiachen Zhao2018-03-311-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | am: c6152041fd Change-Id: I48ec477c7e4bc0dea32bfe89032fefee75d30c16
| * | | Create folder for SystemUpdate sample app.Jiachen Zhao2018-03-311-0/+1
| |/ / | | | | | | | | | | | | | | | Test: no functional changes. Change-Id: I2e8c654086ca49063c59ae0529e190323c84d6ad
| * | Specify a default module for TARGET_RECOVERY_UI_LIB.Tao Bao2018-03-271-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This aligns the logic between {default,wear,vr}_device.cpp. They all implement their default make_device() functions, but using different RecoveryUI variants. This CL creates a new module librecovery_ui_default that uses ScreenRecoveryUI, which serves as the default value for TARGET_RECOVERY_UI_LIB. Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug; `mmma -j bootable/recovery` respectively. Change-Id: I6755b09d96e4809bb1c17142895fe1cad95e5a02 Merged-In: I6755b09d96e4809bb1c17142895fe1cad95e5a02
| * | Factor out a menu class for screen uiTianjie Xu2018-03-241-30/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also consolidate the duplicate codes to draw the menu in ScreenRecoveryUI and WearRecoveryUI. This helps us to support text icons as menu in the future. Bug: 74397117 Test: Check the menu under recovery on bullhead and a wear device. Change-Id: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b Merged-In: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b
* | | Specify a default module for TARGET_RECOVERY_UI_LIB.Tao Bao2018-03-271-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This aligns the logic between {default,wear,vr}_device.cpp. They all implement their default make_device() functions, but using different RecoveryUI variants. This CL creates a new module librecovery_ui_default that uses ScreenRecoveryUI, which serves as the default value for TARGET_RECOVERY_UI_LIB. Test: lunch aosp_{angler,marlin,dragon,walleye}-userdebug; `mmma -j bootable/recovery` respectively. Change-Id: I6755b09d96e4809bb1c17142895fe1cad95e5a02 (cherry picked from commit 73fd036be8c7563423be0c3adbd4205c4f1bc2f5)
* | | Factor out a menu class for screen uiTianjie Xu2018-03-241-29/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also consolidate the duplicate codes to draw the menu in ScreenRecoveryUI and WearRecoveryUI. This helps us to support text icons as menu in the future. Bug: 74397117 Test: Check the menu under recovery on bullhead and a wear device. Change-Id: Iba9b646c3828670f0e78a7e07d1a94a44e96bb0b (cherry picked from commit 2b3f80068ece1040ba7c923afe1e70b705535ad5)
* | | Merge "recovery: add libhidl-gen-utils depedency" am: fc39f3ffd7Yifan Hong2018-03-121-0/+1
|\| | | | | | | | | | | | | | | | | am: da5bb13507 Change-Id: I9811a65335a51006593a332f276deddf1bbf1864
| * | Merge "recovery: add libhidl-gen-utils depedency"Yifan Hong2018-03-121-0/+1
| |\ \
| | * | recovery: add libhidl-gen-utils depedencyYifan Hong2018-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | introduced as a depedency to libvintf. Test: builds Bug: 73556059 Change-Id: Ia51ba81ef462879481dcacb80d9ea9ea35e8b0bb
* | | | Merge "Export fuse_sideload.h for libfusesideload." am: ddf93c0055Tao Bao2018-03-071-12/+0
|\| | | | | | | | | | | | | | | | | | | | | | | am: 9b0c133ff5 Change-Id: I9576800cae927de195baddef2141f7e1ef01082b
| * | | Export fuse_sideload.h for libfusesideload.Tao Bao2018-03-071-12/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the module into a separate directory so that we can export only the expected header. With this change, minadbd no longer needs to include bootable/recovery. Test: mmma -j bootable/recovery Change-Id: I69b888ceb160a33a67d79c5bda208dc17ad6ed86
* | / Merge "minadbd: Move to Soong." am: 56160b2b03Tao Bao2018-03-071-1/+0
|\| | | |/ |/| | | | | | | am: 734f76fc38 Change-Id: Ic7c86ba406ab051ddb0da32544290196e1d4d779
| * minadbd: Move to Soong.Tao Bao2018-03-071-1/+0
| | | | | | | | | | Test: mmma -j bootable/recovery Change-Id: Ic4cd676a842f0e8c4735cc6731fcbf13b844510c
* | Statically link with libhealthstoragedefaultHridya Valsaraju2018-01-121-0/+1
| | | | | | | | | | | | | | | | | | This is to add empty implementations of Health HAL methods to report storage info. Bug: 68388678 Test: vts-tradefed run vts -m VtsHalHealthV2_0 Change-Id: I4f093903f485519e16f39384f5c96fcd031438ba
* | Merge "add sload.f2fs for recovery format" am: 4eaf7a157d am: 3d4359d3aeJaegeuk Kim2017-12-081-1/+1
|\| | | | | | | | | | | am: adb8f660a2 Change-Id: I551f6fe2e040720ea02cbdacfc73bc3aaa5b2e3d
| * add sload.f2fs for recovery formatJaegeuk Kim2017-12-051-1/+1
| | | | | | | | | | Change-Id: Iddfe54b2b36f2d531925cbe61c98dbfb4903c0d1 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
* | is_battery_ok use health 2.0 HALYifan Hong2017-11-141-2/+13
|/ | | | | | | | Test: call is_battery_ok in graphics test, and test manually Bug: 69268160 Bug: 63702641 Change-Id: Ifcf4d2e2cb459689c11fc5d1b880bb053aaae8ae
* uncrypt: Move to Soong.Tao Bao2017-11-091-1/+0
| | | | | Test: mmma -j bootable/recovery Change-Id: I405f2a70f51904c02c49a287c23cbc115a4c5132
* recovery: fix library dependencyJin Qian2017-11-031-2/+2
| | | | | | | | | After removing some deadcode from libext4_utils, libz is optimized out by linker. However, it's still required by libvintf. Moving libz down the list fixed the build. Bug: 64395169 Change-Id: I23ecd70c83af83a219faced59d8227dc3c4e43d5
* Merge "applypatch: Move to Soong."Tao Bao2017-10-121-1/+0
|\
| * applypatch: Move to Soong.Tao Bao2017-10-121-1/+0
| | | | | | | | | | Test: mmma bootable/recovery Change-Id: Ie163aff1c4c2b3b15bb705825779ada6bc38ad67
* | Drop -Wno-unused-parameter.Tao Bao2017-10-121-4/+2
|/ | | | | | | The only one left is libedify. Will handle that in a separate CL. Test: mmma bootable/recovery Change-Id: I732a5f85229da90fd767bee2e46c5c95f529c396
* Move rangeset.h and print_sha1.h into otautil.Tao Bao2017-10-111-0/+1
| | | | | | | | | Also drop the "bootable/recovery" path in LOCAL_C_INCLUDES from applypatch modules. Test: lunch aosp_{angler,bullhead,fugu,dragon,sailfish}-userdebug; mmma bootable/recovery Change-Id: Idd602a796894f971ee4f8fa3eafe36c42d9de986
* edify: Export the header and move to Soong.Tao Bao2017-10-091-1/+0
| | | | | | | | Also make matching changes to applypatch modules which include edify/expr.h. Test: mmma bootable/recovery Change-Id: Ia72be3caa010d7f56a70add2da345e631b306378
* otautil: Export headers.Tao Bao2017-10-031-0/+1
| | | | | Test: mmma bootable/recovery Change-Id: Ic01b68e2a394d578fc9fc09da2dabe9061b98122
* otafault: Move to soong.Tao Bao2017-09-291-1/+0
| | | | | Test: mmma bootable/recovery Change-Id: I5f2520ea457ba66743aa3aa1d5b3b488a93084a3
* Merge "Turn on -Wall for recovery modules"Tianjie Xu2017-08-291-4/+6
|\
| * Turn on -Wall for recovery modulesTianjie Xu2017-08-291-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Turn on -Wall for all modules. Also remove the obsolete file_cmp() in apply_patch test and now() in wear_ui. The only exception is lib_edify due to the unused functions in the intermediate cpp files generated from the lex files. It will be handled in a seperate CL. Bug: 64939312 Test: mma, unit tests pass Change-Id: Ic53f76b60b6401ab20db3d98130d674c08e3702f
* | Merge "Add libasyncio."Treehugger Robot2017-08-291-0/+1
|\ \ | |/ |/|
| * Add libasyncio.Jerry Zhang2017-07-181-0/+1
| | | | | | | | | | | | | | | | libadbd_usb depends on libasyncio. Bug: 37916658 Test: Use adb in recovery on bullhead/marlin Change-Id: I77ac3bb2a580d29551e7b5c471bc3cfbf1a3219d
* | wear_ui: Expose menu_unusable_rows via Makefile var.Tao Bao2017-08-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This variable is useful on small screens (e.g. on watches) to handle long menus. We should have better way to handle this value smartly. Prior to that, expose the value to be overridable by using the generic wearable UI module (librecovery_ui_wear). Bug: 64307776 Test: Define the variable, build and boot into recovery image and check the UI menu. Change-Id: I5d7a6baa8bb4cc852bfcc2a7b3cc9686c1c8817e
* | Allow customizing WearRecoveryUI via Makefile variables.Tao Bao2017-08-101-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the following Makefile variables, we can reduce the work of writing (copy/pasting) device-specific WearRecoveryUI classes. The list of Makefile variables (the ones useful for Wear devices): - TARGET_RECOVERY_UI_MARGIN_HEIGHT (default: 0) - TARGET_RECOVERY_UI_MARGIN_WIDTH (default: 0) Specify the margin space that we don't want to display texts. They replace the former outer_width and outer_height. - TARGET_RECOVERY_UI_TOUCH_LOW_THRESHOLD (default: 50) - TARGET_RECOVERY_UI_TOUCH_HIGH_THRESHOLD (default: 90) Specify the sensitivity of recognizing a swipe. Devices give absolute positions, so for some devices we need to adjust the thresholds. - TARGET_RECOVERY_UI_PROGRESS_BAR_BASELINE Specify the progress bar vertical position, which should be adjusted to the actual height of a device. It replaces the former progress_bar_y. - TARGET_RECOVERY_UI_ANIMATION_FPS (default: 30) Specify the animation FPS if using device-specific animation images. It replaces the former animation_fps. Devices can specify "TARGET_RECOVERY_UI_LIB := librecovery_ui_wear", with optionally defined Makefile vars above, in BoardConfig.mk to customize their WearRecoveryUI. Also remove the obsolete wear_touch.{cpp,h}, which has been merged into ui.cpp in commit 5f8dd9951d986b65d98d6a9ea38003427e9e46df. Bug: 64307776 Test: Change the device BoardConfig.mk and test recovery image. Change-Id: Id0fb2d4e3977ab5ddd31e71f9535470cab70e41b
* | ui: Move the support for touch inputs into RecoveryUI.Tao Bao2017-08-021-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added detection for EV_ABS events in minui/events.cpp, if it's allowed; - Added listening and processing touch inputs in ui.cpp; - Fixed an issue in recognizing swipe with multi-touch protocol A; - Changed the logic in RecoveryUI::ProcessKey() to be swipe-aware. It now allows turning on text mode with <power> + <swipe-up>. The last change also fixed an issue on devices with protocol A: prior to this CL, user may accidentally toggle the text mode during an OTA. Because it was considered as a single-button device, a long tap that sent BTN_TOUCH event would turn on text mode. Test: Allow detecting touch inputs. Swiping (up, down, enter) works on angler, angelfish, dorado respectively. Bug: 36169090 Change-Id: I4bc882b99114ce4ab414f8bdb8f4f7a525b8a8fd
* | recovery: replace make_ext4 with e2fsprogsJin Qian2017-07-201-3/+5
|/ | | | | | | | | | Execute mke2fs to create empty ext4 filesystem. Execute e2fsdroid to add files to filesystem. Test: enter recovery mode and wipe data Bug: 35219933 Change-Id: I10a9f4c1f4754ad864b2df45b1f879180ab33876 (cherry picked from commit ac31808cd37cfb98755e5821dbb2efb5fe5cb12a)
* Merge "Add missing libziparchive dependency."Treehugger Robot2017-06-281-1/+2
|\
| * Add missing libziparchive dependency.Elliott Hughes2017-06-281-1/+2
| | | | | | | | | | | | Bug: http://b/37560614 Test: builds even after removing system/core/include/ziparchive Change-Id: Ib7ed45cafe83d24ed55aac28b4f41a073c371bc2
* | Restructure vr_uiLuke Song2017-06-241-0/+6
| | | | | | | | | | | | | | | | | | | | Get rid of pixel offset variables, and use makefile variables in BoardConfigs. Bug: 37779982 Test: Verified vr ui has same behavior. Change-Id: Ifbf44e27d7101aedbe3c0e6db4b8181d56efadfd (cherry picked from commit 81a8e4cab2a20fd1b1a4716563d4d2586bd1e1de)
* | Use Makefile variables to specify margin settings.Tao Bao2017-06-231-0/+12
|/ | | | | | | | | | | | | | Instead of defining device-specific UI class, this CL allows using Makefile variables to specify margin values directly. Values explicitly defined via TARGET_RECOVERY_UI_MARGIN_HEIGHT and TARGET_RECOVERY_UI_MARGIN_WIDTH will be used. Otherwise they will default to zero. Bug: 62732748 Test: Specify the height and width and check recovery texts. Change-Id: Icb6f7466c8d407f877b93da38aebfdf7e6b41be7 (cherry picked from commit a92d8fb45676566a56d7c27d2e8fb644523adc94)
* Introduce VR recovery uiLuke Song2017-06-171-0/+12
| | | | | | | | | | | A version of screen ui with specific adjustments for vr device compatibility. (cherrypick of a44dba7f4e7296077f65fd571232e8a61aed9418 to AOSP) Bug: 37779982 Test: "adb reboot recovery" to view Change-Id: If6b0f26c1b587f8d0176060685b5efb6c67593b1
* libbootloader_message: convert to Android.bpTom Cherry2017-05-171-1/+0
| | | | | Test: build Change-Id: Ia0c2e141673e37eea29306817d2f4b2c944213b0
* Merge "otautil: Android.mk -> Android.bp"Treehugger Robot2017-05-101-1/+0
|\
| * otautil: Android.mk -> Android.bpSteven Moreland2017-05-101-1/+0
| | | | | | | | | | Test: flash and boot recovery on internal angler Change-Id: Id8845b4b422d0078b251333eb6d30ce14771ef10
* | recovery: Use libverifier instead of rebuilding the sources.Tao Bao2017-05-081-3/+1
|/ | | | | Test: mmma bootable/recovery Change-Id: Ie8cec009b00c121948179518ba9cbc26a82352bf
* fuse_sideload: Change the minimal block size to 4096.Tao Bao2017-05-031-1/+3
| | | | | | | | | | | | | | | | | | | run_fuse_sideload() is passing the block size as the max_read option, so it will only handle a request that involves at most two blocks at a time. However, the minimal allowed value was set to 1024 prior to this CL, which is inconsistent with the kernel code (fs/fuse/inode.c) that sets it to the greater of 4096 and the passed-in max_read option. This would fail the calls with a block size / max_read less than 4096 due to the wrongly computed block indices. Note that we didn't observe real issue in practice, because we have been using 64 KiB block sizes for both of adb and sdcard sideload calls. The issue only shows up in my local CL (to come later) that uses 1024 block size in run_fuse_sideload() tests. Test: recovery_component_test Test: adb sideload with the new recovery image on angler Change-Id: Id9f0cfea13d0d193dcb7cd41a1553a23739545f2
* libfusesideload: Clean up the CFLAGS for the module.Tao Bao2017-04-271-3/+2
| | | | | | | | Remove "-DADB_HOST=0" since it doesn't include adb related stuff. Test: mmma bootable/recovery Test: sideload on marlin Change-Id: Ia83a8edd31eedd803435d687513d561c873ffabe
* recovery: Remove the include of adb.h.Tao Bao2017-04-241-2/+0
| | | | | | | | | recovery.cpp doesn't have a direct dependency on adb.h (only minadbd does). 'adb.h' was once needed for DEFAULT_ADB_PORT, until being killed by commit acb2a2fa4c415944a27539461ba3757f3edbb128. Test: mmma bootable/recovery Change-Id: I84f87988d01c3f0c3d1383cc3cffde2e7d5e7aea
* librecovery: Remove -Wno-unused-parameter and add -Wall.Tao Bao2017-04-241-1/+1
| | | | | Test: mmma bootable/recovery Change-Id: I5598d32bebb9dbda4a183a1502e0b7dc4918392e
* Call libvintf to verify package compatibility.Tao Bao2017-04-201-0/+4
| | | | | | | | | | | | | The libvintf API has landed. Hook up to do the actual verification. Bug: 36597505 Test: recovery_component_test Test: m recoveryimage; adb sideload on angler and sailfish, with packages that contain dummy compatibility entries. Test: m recoveryimage; adb sideload on angler and sailfish, with packages that don't contain any compatibility entries. Change-Id: Idbd6f5aaef605ca51b20e667505d686de5ac781f (cherry picked from commit da320ac6ab53395ddff3cc08b88a61f977ed939a)
* Add the missing LOCAL_CFLAGS for librecovery.Tao Bao2017-04-181-0/+5
| | | | | | | | | | The -DAB_OTA_UDPATER part was missing when separating the librecovery module (commit 62e0bc7586077b3bde82759fb34b51b982cea20f). Bug: 37300957 Test: Build sailfish recovery image and sideload full OTA. Change-Id: Idd25662f6bc812c1aca95b096802f59b051f8d63 (cherry picked from commit 25dbe1717e3096ee59bfa4385cbcf80a972016a6)
* Verify the package compatibility with libvintf.Tao Bao2017-04-131-3/+21
| | | | | | | | | | | | | | | | verify_package_compatibility() is added to parse the compatibility entry (compatibility.zip) in a given OTA package. If entry is present, the information is sent to libvintf to check the compatibility. This CL doesn't actually call libvintf, since the API there is not available yet. Bug: 36597505 Test: Doesn't break the install with existing packages (i.e. w/o the compatibility entry). Test: recovery_component_test Change-Id: I3903ffa5f6ba33a5c0d761602ade6290c6752596 (cherry picked from commit 62e0bc7586077b3bde82759fb34b51b982cea20f)
* Boot control HAL based on the A/B headers.Alex Deymo2017-04-031-0/+1
| | | | | | | | | | | | | | The added bootctrl.bcb module implement the legacy interface for the bootctrl HAL based on the Boot Control Block (BCB) and the headers already specified in the booloader_message library. This serves as a reference implementation of the boot_control HAL. Bug: 32707546 Test: Tested internally that a device can use this HAL to flip slots and recovery from a /misc wipe. Change-Id: Ic02e5aaf4de7d0a1780eac4e8705dae20d0b3e10
* Log the error message when failing to mount/umount.Tao Bao2017-03-291-2/+4
| | | | | | Test: Observe the error messaage for a umount failure case. Bug: 36686818 Change-Id: I28e335c2df4454dd0192f95e3909599fcc9dc1c0
* Remove the dead #include's in verifier.cpp.Tao Bao2017-03-181-4/+1
| | | | | | | | | | A follow-up to commit 5e535014dd7961fbf812abeaa27f3339775031f1. Also clean up Android.mk, since libverifier no longer needs anything from libminui. Test: mmma bootable/recovery Test: recovery_component_test passes. Change-Id: I1c11e4bbeef67ca34a2054debf1f5b280d509217
* minui: Export minui/minui.h.Tao Bao2017-01-171-1/+5
| | | | | | | For libminui static and shared libraries. Test: build Change-Id: Ib30dc5e2ef4a3c8b3ca3a0cec68cb65e229a0c16
* Remove "_static" suffix from libsparseAlex Deymo2017-01-111-1/+1
| | | | | | Bug: 34220783 Change-Id: I358f931f0b29f5bd526e1475180e477e2e90b936
* Remove "_static" suffix from libext4_utils.Alex Deymo2017-01-111-1/+1
| | | | | Bug: 34220783 Change-Id: I34ccc3b11da0d1b48805967ad75b9ddade569930
* Merge "Cleanup the duplicates of logs rotation functions"Tianjie Xu2016-11-041-3/+8
|\ | | | | | | | | | | am: e2d05c5658 Change-Id: Ia63785d846ab05eca45ec1e548f7265d7feffdbb
| * Cleanup the duplicates of logs rotation functionsTianjie Xu2016-11-041-3/+8
| | | | | | | | | | | | | | | | Bug: 32067516 Test: Logs rotated successfully on angler, recovery-refresh/persist tests passed on an a/b device. Change-Id: Ie80adf0fa958ad3d7869d2d17f49489666b86c29
| * Create bootloader_message static library.Yabin Cui2016-10-181-6/+8
| | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit 2f272c0551f984e83bc5abaf240e0dddb38a3326)
* | resolve merge conflicts of 6fba98c to stage-aosp-masterTianjie Xu2016-10-181-2/+3
|\| | | | | | | Change-Id: I2fa8b85109309ec88c1f8d8def593aa65ab885d7
| * Replace minzip with libziparchiveTianjie Xu2016-10-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | Clean up the duplicated codes that handle the zip files in bootable/recovery; and rename the library of the remaining utility functions to libotautil. Test: Update package installed successfully on angler. Bug: 19472796 Change-Id: Iea8962fcf3004473cb0322b6bb3a9ea3ca7f679e
* | Merge "Update the header path for ext4_utils." am: 2bd94433f8 am: 00a9050815Tao Bao2016-10-111-4/+0
|\| | | | | | | | | | | am: 514dc15399 Change-Id: I38332f7eab24a49375ef0f410a3cd3d552749e06
| * Update the header path for ext4_utils.Tao Bao2016-10-091-4/+0
| | | | | | | | | | Test: `mmma bootable/recovery` Change-Id: I70ccddb3ddf46bb012fdc5f632afc46ebdd5473e
| * Disable the meaningless parts of the UI for A/B.Elliott Hughes2016-10-091-0/+4
| | | | | | | | | | | | | | Bug: http://b/28748484 Test: mmma bootable/recovery Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b (cherry picked from commit 01fcbe160bd49891c0680b80c5688cd4feb2adbc)
| * Turn on -Werror for recoveryTianjie Xu2016-09-301-1/+2
| | | | | | | | | | | | | | | | | | | | Also remove the 0xff comparison when validating the bootloader message fields. As the fields won't be erased to 0xff after we remove the MTD support. Bug: 28202046 Test: The recovery folder compiles for aosp_x86-eng Change-Id: Ibb30ea1b2b28676fb08c7e92a1e5f7b6ef3247ab
| * Switch recovery to libbase loggingTianjie Xu2016-09-011-1/+1
| | | | | | | | | | | | | | | | Clean up the recovery image and switch to libbase logging. Bug: 28191554 Change-Id: Icd999c3cc832f0639f204b5c36cea8afe303ad35 Merged-In: Icd999c3cc832f0639f204b5c36cea8afe303ad35
* | Turn on -Werror for recoveryTianjie Xu2016-09-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | Also remove the 0xff comparison when validating the bootloader message fields. As the fields won't be erased to 0xff after we remove the MTD support. Bug: 28202046 Test: The recovery folder compiles for aosp_x86-eng Change-Id: Ibb30ea1b2b28676fb08c7e92a1e5f7b6ef3247ab (cherry picked from commit 7aa88748f6ec4e53333d1a15747bc44826ccc410)
* | Switch recovery to libbase loggingTianjie Xu2016-09-011-1/+1
| | | | | | | | | | | | | | | | Clean up the recovery image and switch to libbase logging. Bug: 28191554 Change-Id: Icd999c3cc832f0639f204b5c36cea8afe303ad35 (cherry picked from commit 747781433fb01f745529c7e9dd97c5599070ad0d)
* | Merge "Fix references to libcrypto_utils_static." am: b97da5e0f0 am: dc97404346Josh Gao2016-08-081-4/+4
|\| | | | | | | | | | | am: e6a4195bf7 Change-Id: Ib497de2a8e38d60cf6be058de919bd8f5e5871cb
| * Merge "Fix references to libcrypto_utils_static."Josh Gao2016-08-081-4/+4
| |\ | | | | | | | | | | | | | | | am: b97da5e0f0 Change-Id: Ia935df84e5ea36dfc6605b41872c36db69a114a0
| | * Fix references to libcrypto_utils_static.Josh Gao2016-08-061-4/+4
| | | | | | | | | | | | | | | Bug: http://b/30708454 Change-Id: I7a5048beff1d8b783a9683dcb4a79606a77f20ee
* | | resolve merge conflicts of 2f272c0 to nyc-mr1-dev-plus-aospYabin Cui2016-07-011-6/+8
|\ \ \ | | | | | | | | | | | | Change-Id: I889d94a723415ad2e660b8c99e66935142918bc4
| * | | 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
* | | | resolve merge conflicts of 179c0d8 to stage-aosp-master am: 274d17dc0fElliott Hughes2016-06-161-9/+13
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | am: eaddde6888 Change-Id: I10d484d02389fa30cc8d8398bcf5b276de31432e
| * | | resolve merge conflicts of 179c0d8 to stage-aosp-masterElliott Hughes2016-06-161-9/+13
| |\ \ \ | | | |/ | | |/| | | | | Change-Id: Iba5aec266444cabf83f600f2bdb45a3c027e5995
| | * | Remove obsolete MTD support.Elliott Hughes2016-06-101-9/+13
| | | | | | | | | | | | | | | | | | | | Bug: http://b/29250988 Change-Id: Ia97ba9082a165c37f74d6e1c3f71a367adc59945
* | | | Disable the meaningless parts of the UI for A/B.Elliott Hughes2016-05-241-0/+4
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | | | | am: 01fcbe160b * commit '01fcbe160bd49891c0680b80c5688cd4feb2adbc': Disable the meaningless parts of the UI for A/B. Change-Id: I86466cac3623b62db07bf48a38428be715ac3d3a
| * | Disable the meaningless parts of the UI for A/B.Elliott Hughes2016-05-241-0/+4
| | | | | | | | | | | | | | | Bug: http://b/28748484 Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b
| * | 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
* | | resolve merge conflicts of 2bf95ac to nyc-dev-plus-aospElliott Hughes2016-04-131-2/+4
|\ \ \ | | |/ | |/| | | | Change-Id: Iaf232fbe65879bad6e19c7a9600aa6303a491a67
| * | Convert recovery to use BoringSSL instead of mincrypt.Mattias Nissler2016-04-061-2/+4
| | | | | | | | | | | | | | | | | | | | | This changes the verification code in bootable/recovery to use BoringSSL instead of mincrypt. Change-Id: I37b37d84b22e81c32ac180cd1240c02150ddf3a7
* | | Merge "recovery: use __android_log_pmsg_file_write for log files" am: 75da771Mark Salyzyn2016-03-311-0/+24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | am: 6f83130 * commit '6f83130d7acd85df89a80e691d3aa63bd2ceda39': recovery: use __android_log_pmsg_file_write for log files Change-Id: Id2e7a76bae8eb061f6f57249dd912f25cd6332c6
| * | recovery: use __android_log_pmsg_file_write for log filesMark Salyzyn2016-03-281-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
|\ \ \ | |/ / |/| / | |/ | | | | | | am: 9020e0f * commit '9020e0f141d1c26dcf8b6fa4212ee94b7891d53f': recovery: Move SwipeDetector into common location
| * 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
| * | 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)
* | | | Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.Tao Bao2016-03-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two libraries both use LOCAL_WHOLE_STATIC_LIBRARIES and include a same library, there would be linking errors when generating a shared library (or executable) that depends on the two libraries both. Also clean up Android.mk files. Remove the "LOCAL_MODULE_TAGS := eng" line for the updater module. The module will then default to "optional" which won't be built until needed. Change-Id: I3ec227109b8aa744b7568e7f82f575aae3fe0e6f
* | | | recovery: check battery level before installing package.Yabin Cui2016-02-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 26879394 Change-Id: I63dce5bc50c2e104129f1bcab7d3cad5682bf45d
* | | | IO fault injection for OTA packagesJed Estep2016-02-101-0/+1
| |_|/ |/| | | | | | | | | | | | | | Bug: 25951086 Change-Id: I31c74c735eb7a975b7f41fe2b2eff042e5699c0c (cherry-picked from commit f1fc48c6e62cfee42d25ad12f443e22d50c15d0b)
* | | 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)
* | 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
* 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
* 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
* 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
* 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