Commit graph

6889 commits

Author SHA1 Message Date
Xin Li
3399fdabf5 DO NOT MERGE - Merge PPRL.190305.001 into master
Bug: 127812889
Change-Id: Ieceaef8b4dd56737a5836dd5e968b609cd084d36
2019-03-11 09:13:10 -07:00
Tianjie Xu
a8969842ae Merge "Add a new entry in wipe package to list all wipe partitions" 2019-03-07 22:14:43 +00:00
xunchang
e0d991ceca Add a new entry in wipe package to list all wipe partitions
This gives us finer control over the partitions to wipe on the host
side.

Bug: 127492427
Test: unit tests pass, install a wipe package on sailfish
Change-Id: I612f8bac743a310f28e365b490ef388b278cfccb
2019-03-06 15:37:28 -08:00
Treehugger Robot
e3857ca43e Merge "Use O_CLOEXEC at a few places." 2019-03-02 00:04:26 +00:00
Tao Bao
b549243b27 Use O_CLOEXEC at a few places.
Found these FDs unintentionally propagated into forked processes (e.g.
updater) during my local debugging. Use O_CLOEXEC to avoid that.

Test: Dump open FDs in updater process.
Test: Sideload a package on taimen (which uses framebuffer).
Test: Run graphics test on taimen.
Change-Id: I1fb65dd4a103c47d28b15973def9e9359c251ca3
2019-03-01 14:24:41 -08:00
Treehugger Robot
21cfc8b6f4 Merge "Use android::base::Pipe." 2019-03-01 02:17:24 +00:00
Tao Bao
6fcd208db4 Use android::base::Pipe.
Also clean up the comments regarding updater/recovery protocol.

Test: Sideload a package on taimen. Check that /tmp/recovery.log
      contains the log from update_engine_sideload.
Test: Factory reset on taimen. Check that log file has the info from
      mke2fs.
Change-Id: If560269ce7007769fc85a63bd228813bdd75bebd
2019-02-28 15:53:28 -08:00
Zhomart Mukhamejanov
52db3dc12e Merge "Updater updater_sample/README.md - build instructions." 2019-02-26 04:00:52 +00:00
Zhomart Mukhamejanov
011b5bbc06 Updater updater_sample/README.md - build instructions.
Change-Id: Icbd577e3ceeec2766eca690b529b31f562df6fb2
Test: docs only
2019-02-25 16:19:55 -08:00
David Anderson
d294935bf7 Merge "Add a logo to the fastbootd screen." 2019-02-21 04:07:29 +00:00
David Anderson
983e2d5718 Add a logo to the fastbootd screen.
fastbootd looks too much like recovery, even if you're carefully reading
the menu. It's not obvious the device is in a flashing mode, and it's
too tempting to reboot or unplug the device in this state.

As a first step, this patch adds a big red "fastbootd" logo so it's less
obviously in recovery mode.

Bug: 120429730
Test: manual test
Change-Id: I73359f1fdfdc0b1694993f760fe7f35c5713b24e
2019-02-11 19:22:03 -08:00
android-build-team Robot
96f7786965 Snap for 5180536 from 8b508c984d to pi-platform-release
Change-Id: I18ffadbdab03199e33f4476135b95da658880541
2019-02-09 02:15:09 +00:00
Daniel Rosenberg
90edbb17f8 Merge "Defer marking boot successful when checkpointing" 2019-02-08 01:40:54 +00:00
Daniel Rosenberg
15f22bddfb Defer marking boot successful when checkpointing
This moves actually marking the slot as successful to a later point
so that on devices with checkpointing enabled we can still roll back to
the previous version if we fail to boot to the point that the checkpoint
is marked as successful.

Test: When taking an update on a checkpoint enabled device, it
      defers marking the slot as successful instead of directly
      marking it. Visible in logs.
Bug: 123260515

Change-Id: I7ed3595c1b0904ddbfe20d1cad4f69ecbf1ea351
2019-02-07 13:26:05 -08:00
Tianjie Xu
e13b39bbb1 Merge "Recovery test: Fix an parameter issue in string construction" 2019-02-06 00:53:25 +00:00
xunchang
7b08a5a6eb Recovery test: Fix an parameter issue in string construction
The intended string constructor is supposed be
basic_string(size_type count, CharT ch). But the parameter is
accidentally reversed when calling the constructor in install_test.

Test: A failed unit test pass
Change-Id: Id9765bfa7d2368ff0d7fbeea45c9c8357864e060
2019-02-05 12:44:53 -08:00
Tom Cherry
990807a95f Merge "Add android::fs_mgr namespace for new Fstab code" 2019-01-31 19:35:54 +00:00
Tom Cherry
72a114a3e1 Add android::fs_mgr namespace for new Fstab code
Also add libfstab dependencies where needed.  Previously the
`typedef struct FstabEntry Volume;` line served to both define a
`struct FstabEntry` as well as alias Volume to it.  With the new
namespace for android::fs_mgr::FstabEntry, `struct FstabEntry` isn't
compatible anymore, so we need to alias Volume to the real
android::fs_mgr::FstabEntry.

In doing so, we need to include <fstab/fstab.h> and this requires
libfstab as a library, which a few modules did not have before.

Test: treehugger
Change-Id: I655209a0efb304b3e0568db0748bd5cf7cecbdb7
2019-01-31 09:00:40 -08:00
Tianjie Xu
9a54dd3bf9 Merge "Fix potential size overflow in blockimg.cpp" 2019-01-29 23:08:58 +00:00
Suren Baghdasaryan
5342de92e0 Merge "DO NOT MERGE: Revert "Revert "Add libprocessgroup dependency""" 2019-01-25 17:09:02 +00:00
Suren Baghdasaryan
0ca607c4cd DO NOT MERGE: Revert "Revert "Add libprocessgroup dependency""
This reverts commit 9ce1d14ef6.

Reason for revert: AOSP is fixed with new vendor image

Change-Id: Ie5a9748acdae22a2b9862cb2ecedda7031f77264
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-25 05:43:59 +00:00
Suren Baghdasaryan
7548e0d6fa Merge "DO NOT MERGE: Revert "Add libprocessgroup dependency"" 2019-01-24 06:57:55 +00:00
Treehugger Robot
05d48050c1 Merge "Check that install file exists before unlink" 2019-01-24 05:35:51 +00:00
Suren Baghdasaryan
9ce1d14ef6 DO NOT MERGE: Revert "Add libprocessgroup dependency"
This reverts commit 62d0c7873c.

Reason for revert: Broke AOSP

Change-Id: I88ef00ebce797f7fdca3678ab93fcae364453a8c
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-01-23 20:46:46 -08:00
Ng Zhi An
14417a5d2a Check that install file exists before unlink
This will remove spurious error messages in logcat such as:

08-02 00:27:21.580   600   600 E /system/bin/recovery-persist: Failed to
unlink /data/misc/recovery/last_install: No such file or directory

since the install file doesn't exist in the first place.

Bug: None
Test: m
Change-Id: Ifaa95729c50efae4e641286dfbe1718aceb5f50a
2019-01-23 15:16:29 -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
xunchang
53158e51d0 Fix potential size overflow in blockimg.cpp
Switch to 64 bit integers since the size of the entire src/tgt images may
not fit in size_t of ILP32.

There are other theoretical overflow cases in memory allocation and I/O
functions. However, they reside within a single transfer command and are
less likely to happen. I will evaluate and address them in separate
cls.

Test: unit tests pass
Bug: 122461124
Change-Id: Ib719ee695920877458fcfaa25c6ac058a5bbabf2
2019-01-17 09:26:12 -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
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
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
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
22a27f9965 Merge "Use dynamically linked f2fs executables." 2019-01-08 19:49:20 +00: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
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
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
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
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
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
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
Zhomart Mukhamejanov
2e7393dbde Merge "Add verification before downloading whole package" 2018-12-18 06:19:59 +00:00