Commit Graph

6908 Commits

Author SHA1 Message Date
Suren Baghdasaryan bd36c3a8ec Merge "Add libprocessgroup dependency"
am: 4475f7330a

Change-Id: Ia7d2a6c5d4bfb511e6417eaf1e81f76108415c6f
2019-01-22 13:04:21 -08:00
Suren Baghdasaryan 4475f7330a Merge "Add libprocessgroup dependency" 2019-01-22 20:58:15 +00:00
Suren Baghdasaryan 62d0c7873c Add libprocessgroup dependency
Because set_sched_policy is moved into libprocessgroup an additional
dependency is requred for recovery_component_test to build.

Exempt-From-Owner-Approval: janitorial

Bug: 111307099
Test: builds, boots

Merged-In: I7cf75e473ee1e2837940606c71d15be26db0c3f2
Change-Id: I7cf75e473ee1e2837940606c71d15be26db0c3f2
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-20 22:04:43 +00:00
Hridya Valsaraju f1fd5ec266 Merge "e2fsck_static is no longer needed for remount"
am: 725d7f8dfd

Change-Id: Ie67ab328d10aebd078a1a41fe48b79f6d4467ebe
2019-01-16 17:58:41 -08:00
Treehugger Robot 725d7f8dfd Merge "e2fsck_static is no longer needed for remount" 2019-01-17 01:43:33 +00:00
Hridya Valsaraju 6f44c11357 e2fsck_static is no longer needed for remount
Remount will instead use overlayfs. If the device is not configured
to use overlayfs or if the device does not support dynamic partitions
but has chosed to setup an ext4-dedupe filesystem, e2fsck_static must
then be included in recovery.

Bug: 122115286
Test: fastboot flashall
Change-Id: I931282dbc67ff4ef53291bcbc5a078b500e5e807
2019-01-16 23:42:55 +00:00
Tao Bao fadc163b60 Merge "screen_ui: Trivial fix to append newline when logging."
am: 594a63cc9d

Change-Id: Ib2c433d68cbb38627b1b40919428ba337f617fe6
2019-01-16 15:27:44 -08:00
Tao Bao 594a63cc9d Merge "screen_ui: Trivial fix to append newline when logging." 2019-01-16 23:14:09 +00:00
Tao Bao a00b449e1f screen_ui: Trivial fix to append newline when logging.
Noticed while debugging other issues.

Test: Boot and check recovery.log.
Change-Id: Id92265cff287b9de89efe5eea85581e63e31aeb2
2019-01-16 09:31:12 -08:00
Yifan Hong 4def1e8a54 Merge "updater: add functions to modify dynamic partition metadata"
am: 27aa9404fc

Change-Id: I0b432e53aba06129b01b34b56e169f05a564b77c
2019-01-15 16:26:47 -08:00
Yifan Hong 27aa9404fc Merge "updater: add functions to modify dynamic partition metadata" 2019-01-16 00:10:58 +00:00
Yifan Hong 8ff84d7cfb updater: add functions to modify dynamic partition metadata
Test: sideload full OTA on cuttlefish
Test: sideload incremental OTA on cuttlefish (that grows
      system, shrinks vendor, and move vendor to group foo)
Test: verify that /cache/recovery/cc46ebfd04058569d0c6c1431c6af6c1328458e4
      exists (sha1sum of "system")

Bug: 111801737

Change-Id: Ibdf6565bc1b60f3665c01739b4c95a85f0261ae5
2019-01-14 14:01:13 -08:00
Yifan Hong 32932a48f9 Merge "Create stash dir recursively."
am: 7a0b65472b

Change-Id: I6f47807075044e6e71078db99988190ced32e157
2019-01-14 13:40:35 -08:00
Yifan Hong 7a0b65472b Merge "Create stash dir recursively." 2019-01-14 20:56:57 +00:00
Yifan Hong 63f5260c6c Create stash dir recursively.
When applying an OTA package onto the device in OTA mode,
if the recovery logs haven't been viewed, there is a chance
that /cache/recovery does not exist. Then, stash creation will
fail. Create stash directories recursively to avoid this error.

Test: without /cache/recovery, sideload the OTA on cuttlefish
Change-Id: I5cc01a067d866476a3594e795dcb5b15649e817b
2019-01-11 15:13:22 -08:00
Tao Bao ad4ce79b4d Merge "Use dynamically linked f2fs executables."
am: 22a27f9965

Change-Id: If4ed2288a513510569ce9411a20cdc4c962d9803
2019-01-08 12:05:29 -08:00
Tao Bao 22a27f9965 Merge "Use dynamically linked f2fs executables." 2019-01-08 19:49:20 +00:00
Yifan Hong 159d267cc6 Merge "updater: erase ignores EOPNOTSUPP for BLKDISCARD"
am: 08a8b40c91

Change-Id: Iee6860b0dbeaafc06ca881148ca4ea99abaf4b3a
2019-01-07 17:11:37 -08:00
Yifan Hong 08a8b40c91 Merge "updater: erase ignores EOPNOTSUPP for BLKDISCARD" 2019-01-08 00:06:40 +00:00
Yifan Hong 363d624d53 updater: erase ignores EOPNOTSUPP for BLKDISCARD
Test: sideload on cuttlefish
Bug: 111801737
Change-Id: I784a2142049054f38d6b70c7af7e88a451996d83
2019-01-04 15:24:52 -08:00
Tao Bao 29578b1117 Merge "minadbd: daemon_service_to_fd takes std::string_view."
am: 72aa58dcf7

Change-Id: I9a7d20d476e0be703657e7c332f393703a982b1a
2019-01-02 13:28:12 -08:00
Tao Bao 72aa58dcf7 Merge "minadbd: daemon_service_to_fd takes std::string_view." 2019-01-02 21:13:14 +00:00
Tao Bao 5de19e2e02 minadbd: daemon_service_to_fd takes std::string_view.
The caller of daemon_service_to_fd() in core adb has switched to
std::string_view in [1]. The mismatch breaks the sideload service, as it
picks up the wrong daemon_service_to_fd() when serving sideload.

[1] https://android-review.googlesource.com/c/platform/system/core/+/850392

Bug: 122171762
Test: `adb sideload` on taimen.
Change-Id: Ie828400768523c35c5576e2c029e38fc0ad0aff9
2019-01-02 09:40:46 -08:00
Tianjie Xu 095b6858dd Merge "Add a horizontal line at the end of the graphic menu"
am: fc0665c701

Change-Id: Idba56caeb2f002864ca2325fb5f130d3e25c2acc
2018-12-21 11:10:52 -08:00
Tianjie Xu fc0665c701 Merge "Add a horizontal line at the end of the graphic menu" 2018-12-21 19:00:47 +00:00
Tao Bao c674dfb584 Use dynamically linked f2fs executables.
It also reduces the space cost for devices using f2fs (e.g. crosshatch).
/sbin/mkfs.f2fs   722560 => /system/bin/make_f2fs   49568
/sbin/sload.f2fs 1182456 => /system/bin/sload_f2fs 150032

Test: Build and boot recovery on crosshatch. Factory reset.
Test: Install a non-A/B OTA package that formats a f2fs partition.
Change-Id: Ibe70c8d91a1d07e1c78ff9eac19b1f7955800161
2018-12-20 14:47:11 -08:00
Tao Bao 1b94d3a35b Merge "Clean up the arg setup for exec(3)."
am: f0c03e62a2

Change-Id: I402eae7a950f10e3ceb99291db07e68dd91861e1
2018-12-20 14:36:02 -08:00
Tao Bao f0c03e62a2 Merge "Clean up the arg setup for exec(3)." 2018-12-20 22:10:07 +00:00
xunchang c7dbc735d2 Add a horizontal line at the end of the graphic menu
This is in line with the old behavior and the UI of TextMenu.

Bug: 121280655
Test: check the menu
Change-Id: I4b82b93187b2d02cfe5b31a9a8fb621d10dd5d8a
2018-12-20 11:36:55 -08:00
Tao Bao 3d69f0df96 Clean up the arg setup for exec(3).
Test: Build and boot into recovery on marlin. Factory reset.
Test: Build and install a non-A/B OTA that calls format.
Change-Id: I72416e775e237fc15ca5eff1036175a9eef43b76
2018-12-20 10:46:06 -08:00
Yifan Hong cc6eb0ee44 Merge changes from topic "vintf_object_recovery_mount"
am: 82fc6ae5b8

Change-Id: I68751cdd1601bac85f4d76de18fb6d2896cb6fa9
2018-12-19 14:27:38 -08:00
Yifan Hong 6e232ed3ce Move parts of roots.cpp to libfs_mgr
am: 0f339e27bb

Change-Id: I8e933cf6fb5361735d51a387102417c2885ee816
2018-12-19 14:27:21 -08:00
Yifan Hong 82fc6ae5b8 Merge changes from topic "vintf_object_recovery_mount"
* changes:
  roots.cpp: convert to C++ Fstab
  Move parts of roots.cpp to libfs_mgr
2018-12-19 22:19:52 +00:00
Yifan Hong 0f339e27bb Move parts of roots.cpp to libfs_mgr
Move some mounting functionalities to libfs_mgr.

Test: run recovery tests

Bug: 118634720
Bug: 113182233

Change-Id: Ie59376664a744992429f0262ec96d13a1aed30f9
2018-12-18 15:57:29 -08:00
Yifan Hong d81b8e3d77 roots.cpp: convert to C++ Fstab
Convert code to use C++ Fstab struct and C++ std::strings.

Bug: 62292478
Bug: 118634720
Test: boots
Change-Id: Ibdc1df5831bc885d7c1574419f41af026e49a137
2018-12-18 15:57:29 -08:00
Zhomart Mukhamejanov e84953e9aa Merge "Add verification before downloading whole package"
am: 2e7393dbde

Change-Id: Ib85a3b957d0350122fa7f004f8f7e66667cde742
2018-12-17 22:31:24 -08:00
Zhomart Mukhamejanov 2e7393dbde Merge "Add verification before downloading whole package" 2018-12-18 06:19:59 +00:00
Zhomart Mukhamejanov 1811a6b734 Merge "Add PrepareUpdateService."
am: 2e33cbeb20

Change-Id: I5f62286c5454ab5e44d73e99daad3345c1841024
2018-12-17 14:29:31 -08:00
Zhomart Mukhamejanov c18d488658 Add verification before downloading whole package
UpdateEngine has a feature that verifies
payload without downloading the whole update package.

If UpdateEngine detects invalid payload,
the sample app aborts the update.

No JUnit tests, because it accesses files on the
device and migrating tests to robolectric
is not worth for this sample app.

Bug: 77150191
Test: device
Change-Id: Ib8ce73508a02cf5fdcb326d8ba46c1d05ed5efe5
2018-12-17 14:24:25 -08:00
Zhomart Mukhamejanov 2e33cbeb20 Merge "Add PrepareUpdateService." 2018-12-17 22:19:25 +00:00
Nick Kralevich 649d2d35dc Merge "use epoll_create1"
am: a8d712ec50

Change-Id: I9ddf1a6a059db39ad79d45915f43d9ef6cc456a9
2018-12-17 14:01:26 -08:00
Treehugger Robot a8d712ec50 Merge "use epoll_create1" 2018-12-17 21:57:27 +00:00
Tao Bao acdb8d8d18 Merge "applypatch: Fix comparison of integers of different signs."
am: dfbdaf3f1d

Change-Id: Ic5c55cefd61bc60536a956216ed56d482110a231
2018-12-17 13:35:08 -08:00
Tao Bao dfbdaf3f1d Merge "applypatch: Fix comparison of integers of different signs." 2018-12-17 21:22:41 +00:00
Zhomart Mukhamejanov bc07775393 Add PrepareUpdateService.
It's moved from PrepareStreamingService intent service.
Now PrepareUpdateService takes an UpdateConfig and
builds PayloadSpec for UpdateEngine for both streaming
and non-streaming update.

It allows us to do all preparations in intent service's
thread, without blocking UI.

We will also add checksum verification to
PrepareUpdateService.

Test: device, junit
Bug: 77150191
Change-Id: I15c0bc58e3238bea6ea1c4f13063575e2def89c1
Merged-In: Iea69acd9aa41e17538c26aff60f7598093ca7744
2018-12-17 10:56:28 -08:00
Tao Bao 7ebef8fd40 applypatch: Fix comparison of integers of different signs.
bootable/recovery/applypatch/imgpatch.cpp:57:3: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
  CHECK_GT(expected_target_length, 0);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

bootable/recovery/applypatch/freecache.cpp:145:50: error: comparison of integers of different signs: 'long' and '__fsblkcnt64_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (sf.f_bsize == 0 || free_space / sf.f_bsize != sf.f_bavail) {
                         ~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
bootable/recovery/applypatch/freecache.cpp:190:16: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (free_now >= bytes_needed) {
      ~~~~~~~~ ^  ~~~~~~~~~~~~
bootable/recovery/applypatch/freecache.cpp:233:18: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
    if (free_now >= bytes_needed) {
        ~~~~~~~~ ^  ~~~~~~~~~~~~

Test: `mmma -j bootable/recovery/applypatch` with -Wsign-compare
Test: Run recovery_unit_test on marlin.
Change-Id: I4aa1fd0f9b7205b9e4e50874fc4bccb62951e7fe
2018-12-17 10:07:27 -08:00
Nick Kralevich 39c53c8ac9 use epoll_create1
epoll_create leaks file descriptors. Use epoll_create1(EPOLL_CLOEXEC)
instead.

Bug: 120983106
Test: compiles and boots
Change-Id: I91f213ebb2dd05330dd25ec1ca1fec59b611e7f2
2018-12-17 08:51:38 -08:00
Tianjie Xu 608acc9ca2 Merge "Show wipe data confirmation text in recovery mode"
am: c456aab7e2

Change-Id: Id1dfc9ca935b8d5f88387b55809dd152fe600544
2018-12-11 15:39:19 -08:00
Tianjie Xu c456aab7e2 Merge "Show wipe data confirmation text in recovery mode" 2018-12-11 23:24:05 +00:00
Tianjie Xu 1a0a30a16a Show wipe data confirmation text in recovery mode
After we generate the localized confirmation text images for certain dpi,
we can now load these images and display them under recovery. Devices that
cannot load the images will use the backup text strings as before.

Bug: 74397117
Test: check the menu with multiple locales, and check all the images locally
with locale test, check the fall back strings.
Change-Id: Ic31a55670026c909ec7a05cb0bb4a0fc1d5d15c7
2018-12-11 23:23:41 +00:00