aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* recovery: Separate blkid.tab for vold in recoveryMatt Mower2015-11-251-0/+1
| | | | | | | | | | vold does not have selinux permissions to read/write files in rootfs. By default, libext2_blkid writes a cache file to /etc/blkid.tab. Set environment variable BLKID_FILE just for use by the vold service, changing the cache file location to /tmp/vold_blkid.tab which can then take advantage of context vold_tmpfs. Change-Id: I70d233d3d6f4e82bc7d781a04ef7707b733b4a1b
* updater: Add LZMA support to blockimgSteve Kondik2015-11-255-3/+105
| | | | | | | | | * This adds support for LZMA compressed blockimages. The space savings from doing this is significant and will reduce our CDN costs by quite a bit. * I'll spend the saved $$$ on beer. Change-Id: I6679220aaa29592fe6bbccd4136f0c239e45e2ae
* updater: Allow devices to suppress BLKDISCARDandi342015-11-252-0/+6
| | | | | | | * On some devices TRIM is disabled for security reasons. Don't fail flashing the ROM because discard isn't possible in this case. Change-Id: I044619c3e0b01a496d967ef136501d0190240ad4
* recovery: Allow devices to reboot to download modeAndreas Blaesius2015-11-253-0/+13
| | | | Change-Id: Ib6ccf98ed68efacbb3b8c8238945da60b23a20d7
* Improve placement of progress bar.Danny Baumann2015-11-251-5/+10
| | | | | | | Limit text output to 1/4 of screen height during installation, and center icon and progress bar inside the remaining space. Change-Id: I4b56db78d13931fdd79580b801260bdfca0e9726
* Don't disable including TARGET_RECOVERY_UI_LIB if existsdhacker292015-11-251-4/+4
| | | | | | | This is needed for fugu (Nexus Player) as it has one button on the bottom. Change-Id: Ic9f1f546abd90ff9bb6f983bc57628bcb45d641c
* sr: Fix all the graphics issuesSteve Kondik2015-11-253-54/+52
| | | | | | | | | * Get rid of all the jank and flicker. * Fix preserved backbuffer * Simplify the code, all drawing happens on a single thread now. Change-Id: I36e1deee0663defd8aea1eba985e3ecbd408eac0
* recovery: Headless modeTom Marshall2015-11-2510-2/+31
| | | | Change-Id: I6b54bde65264aee99cb51a19436e82054b31fe74
* recovery: autodetect filesystem typeDan Pasanen2015-11-254-3/+42
| | | | | | | | | | | | | | | * Multiple fstab lines (supported in android) cause recovery to fail to mount partitions if the fs type is not the same as the first fstab entry. So when we attempt to find an fstab entry that matches a path for an f2fs, ext4 or vfat type, check it against blkid's determination of what filesystem type it is. If there is a discrepancy, query fs_mgr for the next possible entry that matches that path until either we find one that is good, or run out of fstab entries. * Also attempt to autodetect the filesystem type for mounting from update.zips. Change-Id: Ib6f4535dd88ef714ae1ca6fb0ffae1c7dac0f7ce
* sr: updater: Fix multi-stage docsTom Marshall2015-11-251-4/+5
| | | | | | * Fix reboot_now comments to reflect actual usage. Change-Id: I692d626185af24620382f7b318c2b77f643ccfb8
* sr: Fix menu wrappingTom Marshall2015-11-251-0/+4
| | | | | | | | Reset menu_show_start_ if the selected item won't be visible. This fixes the display after selecting an item from the second page in the file list. Change-Id: Iff2bef39ec294c47bcaadce4128adb6d14d9e4db
* Allow custom bootloader msg offset in block miscMatt Mower2015-11-254-0/+23
| | | | | | | | | | | | Use board define BOARD_RECOVERY_BLDRMSG_OFFSET with a decimal integer to define a custom offset where the bootloader message should be read/written. Edify commands get_stage and set_stage need to be aware of the custom bootloader msg offset because they write the stage directly to the BCB. Change-Id: Id13a23dd41bb7d907b96d657b8e21eb839dfeaa9
* Do not wipe block misc on bootloader msg updateMatt Mower2015-11-251-1/+1
| | | | | | | | | | | When set_bootloader_message_block() is called, it fopens /misc in write binary mode, wiping all contents other than what is being written. The bootloader msg structure is only 1024+32+32 bytes, so some manufacturers store more than just a bootloader msg on /misc. fopen in read+append mode so that only the bootloader msg is written and the rest of the partition is left untouched. Change-Id: I2d2fbdf067282744864a19d404ca7dc12f688a98
* install: Ditch the generic errorRicardo Cerqueira2015-11-251-1/+6
| | | | | | Try to replace it with something more meaningful Change-Id: Ifc59ccdc1cf2a71245428ab9ff6495dc6c51d8b3
* recovery: Always include ext4 stuffMichael Bestas2015-11-251-2/+2
| | | | Change-Id: I86bfa73d4004a3b44b3047ee72205a8fa079ec20
* sr: Allow device-specific recovery modulesMatt Mower2015-11-251-0/+4
| | | | | | | | | | Provide a means to include device-specific recovery modules that need to be built (i.e. not pre-built). A list of recovery modules can be specified by a device with: TARGET_RECOVERY_DEVICE_MODULES := rec_mod_one rec_mod_two Change-Id: Ibd19a71318863461d472471a4f7cfddfb1b9ae0d
* Fix HDPI imagesChirayu Desai2015-11-251-0/+0
| | | | | | | | | | * Commit 8b0f4a442 "Old-school Holo UX" changed these to something out of sync with the rest, and also broke recovery on the devices that fell into this density bucket. * Restore the AOSP images. Change-Id: If55a9925903d9bb1cfc77d6752666c7e2e6d20fe
* recovery: New icon type VIEWING_LOGTom Marshall2015-11-252-2/+4
| | | | | | | | * Fixes "View recovery logs" This is probably not the best solution, perhaps find a different way? Change-Id: Ibd901ce7f69ec05c4d26cdb027e51b7e5b826034
* sr: Dejank the menus, fix colorsTom Marshall2015-11-251-4/+3
| | | | | | | * Remove extraneous menu update causing jank * Use official colors Change-Id: I5ca3faf54a51853fde8270edeee0fba778906659
* sr: Fix the progress barSteve Kondik2015-11-252-19/+16
| | | | | | | | | | | | | | | | | | | | | | | | | * The progress thread is running all the time, which causes the device to heat up while in recovery. Start this thread only when the progress mode is set to something other than EMPTY, and add a terminating condition so that it exits when finished. * Incorporate Tom's patch to keep it updated when visible, since both are needed to get working progress indications without killing batteries. * Clear buffer in draw_progress_locked() and always call this in update_progress_locked(). This is necessary to ensure that all backing frames in the graphics implementation get updated because we aren't guaranteed to have any particular number of backing frames. * Remove dialogs on wipe operations since we are using the progress animation now. * Set progress indicator after showing "Formatting" text to avoid momentary flicker. Change-Id: Ib70d2cb25f01d9920ffb698b5b5b47af827ef483
* sr: Touch UITom Marshall2015-11-2528-125/+750
| | | | Change-Id: I4ee87f3474aec0496c47bb561ddecc74e151cbbf
* sr: Return to main menu after selectionTom Marshall2015-11-251-28/+26
| | | | Change-Id: Ib6fd1904b6516a651ffaad20f66b2eaf42c31619
* recovery: Move icon_info.png to res-specific dirsMatt Mower2015-11-255-0/+0
| | | | | | ... otherwise it is omitted from build. Change-Id: I45930e1501f13af641ee96ac64164aae4101d85b
* recovery: Initial dialog implementationTom Marshall2015-11-2516-8/+389
| | | | | | | | | | | | | | | | | Implement two types of dialogs: info and error. Info dialogs are intended to show that an operation is in progress and cannot be interrupted. Error dialogs are intended to show that an error occurred. The user must respond by dismissing the dialog with any input (a swipe or keypress). Dialogs may be initiated internally within the UI code or externally via a named local socket. Dialogs created via socket are presumed to be info and may not be dismissed. When the client socket is closed, the dialog automatically dismisses. Initial implementation shows dialogs for adb backup and restore. Future work will show dialogs for all errors and lengthy operations. Change-Id: Icefea12ec0fd70fb487d54aa2eb1cae9dd451355
* recovery: Handle oemunlock commandTom Marshall2015-11-254-7/+66
| | | | | | | * Conditionally compile support based on TARGET_HAVE_OEMLOCK. * Use liboemunlock for device specific support. Change-Id: I1cf1fef8e30075b0586bb86625b7df49723974cb
* recovery: datamedia supportTom Marshall2015-11-255-14/+132
| | | | Change-Id: I4cef82973a15111bee92cd7c81f0e1db8d211991
* recovery: Provide caching for sideload filesTom Marshall2015-11-251-1/+107
| | | | | | | | | | | | | | | Create a cache of block data received via adb. The cache size is set to ensure that there is at least 100mb available for the installer. When the cache is large enough to hold the entire file, each block is read via adb at most once. When the cache is not large enough to hold the entire file, the cache will need to be pruned. Because files tend to be read sequentially during install, the pruning algorithm attempts to discard blocks that are behind the current file position. Change-Id: Id8fc7fa5b38f1d80461eb576b1a1b5d53453cfc1
* recovery: bu: Implement backup/restoreTom Marshall2015-11-257-9/+1144
| | | | Change-Id: I9e684868ce15aaaed3a40338dadc20b003b50ade
* recovery: Provide sideload cancellationTom Marshall2015-11-259-93/+195
| | | | Change-Id: I13f0c9ae5444652a2141442ef24258679a78d320
* Blank screen during shutdown and rebootPat Erley2015-11-251-0/+3
| | | | | | | Some hardware doesn't like having the panel on and still active during pwoer cycles, so just turn it off. Change-Id: Ied1f0802f5a2d45980ee33abf2456a291ba64beb
* recovery: turn on the backlight in recovery modeTom Marshall2015-11-251-0/+25
| | | | | | | The backlight is not turned on by default in some devices. This leads to nothing displayed in recovery mode. Change-Id: Iae5b0440f79fdcb79e103744a242e12c96b02c00
* recovery: Awakening of MiniVoldTom Marshall2015-11-2516-112/+961
| | | | | | A minimal vold client for recovery. Change-Id: Id25d955dc1861a910e5f5fc27d9a19e245d66833
* sr: Include vendor init triggerMatt Mower2015-11-241-0/+6
| | | | | | vendor_load_properties() lives in load_persist_props() now. Change-Id: I8f18af1ac5d7bdf0bc066ba28d37c99ad696e0dd
* Add back and home key handling.Steve Kondik2015-11-203-1/+26
| | | | Change-Id: I5abac0f1b59d480b859f77ce16126f13fccd440b
* sr: Clean up f2fs tools (part of fstools now)Steve Kondik2015-11-202-11/+2
| | | | | | * Also update for new pigz version Change-Id: I93b2c9b659f911cb6fd0646e15dbb48781c254b8
* sr: Add fstools, update build configurationSteve Kondik2015-11-204-9/+157
| | | | | | | | | | * Make sure we create any dirs before trying to put symlinks in them * Create a new "fstools" target which aggregates all of our filesystem tools into a single multi-call binary. This reduces the overall recovery image size by a megabyte, and also removes GPL code from the main recovery binary. Change-Id: I5fc2a61d564915085071ccbbcb3136f45c640a60
* OMGRainbowsCEnnis912015-11-204-4/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No longer will we get bad reviews on CWM recovery for its lack of rainbows! Originally design by gweedo767, this patch brings back the wrap count mechanism from v2.0.2.4 to toggle Rainbow Mode for the user. In the original design, every character has a different color, but that method requires modifying graphics.c which will cause breakage in devices with custom graphics.c. This Rainbow Mode has a different color for each line, instead. The wrap_count has been set to 5 instead of the previous 3 so the toggle won't occur as often, if on accident. (port to CM12.1 by cyanogen) Change-Id: Ie9f6f1b6ed94ee69d4d8d9fe27f9a5417cc3f212 improve Rainbow Mode * Require 5 consecutive menu "wraps" in the same direction to help prevent accidental toggling * Align colors into stripes (i.e. columns) a) less prone to induce dizziness in some people when they change b) better resembles a rainbow * Move the stripes to the right when the selection moves up and move the stripes to the left when the selection moves down Change-Id: I3feae173b22f5703c554ca33e634881749ff54cf
* sr: Enable zip/unzip commandsSteve Kondik2015-11-202-1/+17
| | | | Change-Id: I938dc855742d4e1a5ba0b09fd74851b0d155f0a1
* sr: Puke out an /etc/fstab so stuff like Busybox is happySteve Kondik2015-11-201-0/+26
| | | | | | | * And disregard special mount flags on purpose because of certain dubious packages which "exec busybox mount". Change-Id: I163702c9bd7fca3d40676fd6d8476e8deb13acc0
* sr: Get a proper shell environment in recoverySteve Kondik2015-11-205-8/+316
| | | | | | | | | * Secure ADB support * Toybox applets * mksh * Various other tools Change-Id: I80b0e2aa5eb7142eaa9f157709f4e029077d8dfa
* recovery: Add timestamps in update logs.Tao Bao2015-11-072-16/+99
| | | | | | | | | | | | | | | Fork a logger process and send over the log lines through a pipe. Prepend a timestamp to each line for debugging purpose. Timestamps are relative to the start of the logger. Example lines with the change in this CL: [ 445.948393] Verifying update package... [ 446.279139] I:comment is 1738 bytes; signature 1720 bytes from end [ 449.463652] I:whole-file signature verified against RSA key 0 [ 449.463704] I:verify_file returned 0 Change-Id: I139d02ed8f2e944c1618c91d5cc43282efd50b99
* imgdiff: Fix compilation warningsSteve Kondik2015-11-071-15/+17
| | | | Change-Id: I17da2a21967f4484d7244f10f3bc5e74c6e559bf
* uncrypt: remove O_SYNC to avoid time-out failuresJaegeuk Kim2015-11-071-1/+1
| | | | | | | | | | | This patch removes costly O_SYNC flag for encrypted block device. After writing whole decrypted blocks, fsync should guarantee their consistency from further power failures. This patch reduces the elapsed time significantly consumed by upgrading packages on an encrypted partition, so that it could avoid another time-out failures too. Change-Id: I1fb9022c83ecc00bad09d107fc87a6a09babb0ec Signed-off-by: Jaegeuk Kim <jaegeuk@motorola.com>
* minadbd: use strdup() to create argument for sideload thread.Yabin Cui2015-11-071-2/+4
| | | | | | | | So sideload thread will not use argument which is to be freed in the main thread. Bug: 23968770 Change-Id: I9d6dadc6c33cfbe4b5759382a80fe14cd0d54355
* Suppress some compiler warnings due to signedness.Tao Bao2015-11-072-5/+5
| | | | Change-Id: I63f28b3b4ba4185c23b972fc8f93517295b1672a
* recovery: Remove redirect_stdio() when calling ShowFile().Tao Bao2015-11-072-4/+1
| | | | | | | | | When calling ScreenRecoveryUI::ShowFile(), the only thing that gets inadequately logged is the progress bar. Replace the call to ScreenRecoveryUI::Print() with ScreenRecoveryUI::PrintOnScreenOnly() for the progress bar, so we can avoid calling redirect_stdio(). Change-Id: I4d7c5d5b39bebe0d5880a99d7a72cee4f0b8f325
* imgdiff: fix file descriptor leakJeremy Compostella2015-11-071-1/+9
| | | | | | | | | | mkstemp() allocates a file description that is never released. If MakePatch() is called too many time, imgdiff reaches the Operating System EMFILE (too many open files) limit. Change-Id: Icbe1399f6f6d32cfa1830f879cacf7d75bbd9fc3 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Signed-off-by: Gaelle Nassiet <gaellex.nassiet@intel.com>
* recovery: Fix the bug that truncates menu entries.Tao Bao2015-11-071-1/+6
| | | | | | | | | | | When there are 20 entries (like 10 last_log* and 10 last_kmg* in "view recovery logs"), there's no "Back" entry. Because the number of entries (21) exceeds text_rows (20) in WearRecoveryUI::StartMenu(). Since we have scrollable menu, having more entries than text_rows won't be an issue. Bug: 23752519 Change-Id: I12573d7a34852a1a3d130c9e88522cee737eb08f
* recovery: Factor out wear_ui.{cpp,h} into bootable/recovery.Tao Bao2015-11-073-0/+788
| | | | | | | | | 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
* Fix potential crashJeremy Compostella2015-11-071-5/+9
| | | | | | | | | Malloc might fail when replacing package path. In this case, print a clear error message in the logs and let the OTA fails. Change-Id: I7209d95edc025e3ee1b4478f5e04f6e852d97205 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Signed-off-by: Gaelle Nassiet <gaellex.nassiet@intel.com>