Commit Graph

3827 Commits

Author SHA1 Message Date
Jin Qian d6f506e783 Merge "recovery: update mkfs.f2fs args to match f2fs-tools 1.8.0"
am: f347c1abca

Change-Id: I0308f26d79af2f34a28a0c67142b8e205bf07062
2017-05-05 19:51:36 +00:00
Treehugger Robot f347c1abca Merge "recovery: update mkfs.f2fs args to match f2fs-tools 1.8.0" 2017-05-05 19:39:25 +00:00
Jin Qian adeb41a8c0 recovery: update mkfs.f2fs args to match f2fs-tools 1.8.0
mkfs.f2fs in 1.8.0 returns error if number of sectors is 0. Skip
this argument to let mkfs detect device size. 0 sector is also not
necessary for 1.4.1.

Test: format userdata to f2fs and boot
Bug: 37758867
Change-Id: If120988dfb678596c973d183572f870eb0b72a27
2017-05-05 11:07:46 -07:00
Tianjie Xu e452c25620 Merge "Update the comment for obsolete symlink handling ."
am: a24f9d7cc7

Change-Id: Ieb37d12ed5e0b164d067fd62e8daf7d8776fa31f
2017-05-04 01:29:14 +00:00
Treehugger Robot a24f9d7cc7 Merge "Update the comment for obsolete symlink handling ." 2017-05-04 01:22:26 +00:00
Tao Bao 1d33e0815d Merge "Revert "Remove EXPAND/STRINGIFY macros.""
am: 7c42198581

Change-Id: I89eb2acace8e53a2af00fd681e6298edc157f8ac
2017-05-04 00:44:10 +00:00
Tao Bao 7c42198581 Merge "Revert "Remove EXPAND/STRINGIFY macros."" 2017-05-04 00:32:53 +00:00
Tao Bao 8be0f39fec Revert "Remove EXPAND/STRINGIFY macros."
This reverts commit ec9706738f.

Reason for revert: It's not a good idea to put RECOVERY_API_VERSION in
common.h, which might be included by device-specific codes (but with
RECOVERY_API_VERSION undefined).

Change-Id: I9feb9c64a5af3e9165164622a59b043aa28a8b8c
2017-05-04 00:31:11 +00:00
Tao Bao 53b98de866 Merge "fuse_sideload: Change the minimal block size to 4096."
am: 4e8e56eaea

Change-Id: Ica6e3890e6f13ef57d7da340bfa0314b3f121b49
2017-05-04 00:01:37 +00:00
Tao Bao 4e8e56eaea Merge "fuse_sideload: Change the minimal block size to 4096." 2017-05-03 23:52:34 +00:00
Tao Bao 3642b99073 Merge "Remove EXPAND/STRINGIFY macros."
am: b00c66faf7

Change-Id: I59a8424b2df0a8e02999061a80b9ecefd8aa23db
2017-05-03 23:43:37 +00:00
Tao Bao b00c66faf7 Merge "Remove EXPAND/STRINGIFY macros." 2017-05-03 23:38:32 +00:00
Tianjie Xu f38401a27c Update the comment for obsolete symlink handling .
Symlink is a filebased OTA feature, and the corresponding updater
function has been removed in
https://android-review.googlesource.com/#/c/350357/.

Also the only place where we call "package_extract_dir()" is to unpack
some bootloader dir in vendor's code. We plan to remove it also in a
separate bug.

Bug: 31917448
Test: mma
Change-Id: I3986d60958e64e0d5d8fa5f5bd508c579fb7fa2c
2017-05-03 23:34:42 +00:00
Tao Bao ec9706738f Remove EXPAND/STRINGIFY macros.
They are error-prone by putting anything into a string (e.g.
EXPAND(RECOVERY_API_VERSION) would become "RECOVER_API_VERSION" if we
forgot to pass -DRECOVERY_API_VERSION=3).

RECOVERY_API_VERSION is the only user (in bootable/recovery) that gets
stringified. Assign it to a typed var and sanity check the value.

Don't see other reference to the macros from device-specific recovery
directories (they can still define that locally if really needed).

Test: recovery_component_test
Test: Sideload an OTA on angler and marlin respectively.
Change-Id: I358bbdf8f0a99db5ce4c7bc2fdcafe8013501b64
2017-05-03 11:26:00 -07:00
Tianjie Xu 18bb9a4f26 Merge "Add a default error code when updater script aborts"
am: 89394632b1

Change-Id: Iceebf87fb62b1c2a23e20c2b4966606c0c7b0a72
2017-05-03 17:40:41 +00:00
Tianjie Xu 89394632b1 Merge "Add a default error code when updater script aborts" 2017-05-03 17:34:45 +00:00
Tianjie Xu e0c88793d1 Add a default error code when updater script aborts
We didn't report error/cause codes unless there's an explict "Abort()"
call inside the updater script. As a result, some cause codes set by
ErrorAbort() didn't show up in last_install.

To fix the issue, add a default error code when the script terminates
abnormally (i.e. with non zero status).

Bug: 37912405
Test: error/cause code shows up in last_install when argument parsing fails
Change-Id: Ic6d3bd1855b853aeaa0760071e593a00cf6f0209
2017-05-03 05:52:03 +00:00
Tao Bao 08d9ede8f2 Merge "Move sysMapFile and sysReleaseMap into MemMapping class."
am: fe7eecff4c

Change-Id: Id67b92ed607b678aee3074329dad49d6e78c1896
2017-05-02 23:47:33 +00:00
Tao Bao fe7eecff4c Merge "Move sysMapFile and sysReleaseMap into MemMapping class." 2017-05-02 23:42:28 +00:00
Tao Bao ed13819a0d fuse_sideload: Change the minimal block size to 4096.
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
2017-05-02 15:56:22 -07:00
Tao Bao b656a154ea Move sysMapFile and sysReleaseMap into MemMapping class.
Test: recovery_component_test
Test: recovery_unit_test
Test: Apply an OTA on angler.
Change-Id: I7170f03e4ce1fe06184ca1d7bcce0a695f33ac4d
2017-05-01 21:51:54 -07:00
Tao Bao c0c4ae1583 Merge "recovery: Change install_package() to take std::string."
am: ba365180d3

Change-Id: Ibc9d75359447d36bc5c8b827fa768b20057e56e8
2017-05-02 02:17:34 +00:00
Tao Bao ba365180d3 Merge "recovery: Change install_package() to take std::string." 2017-05-02 02:10:43 +00:00
Tao Bao dc534a9481 Merge "adb_install: Stop passing RecoveryUI as a parameter."
am: e58dabade9

Change-Id: Ia574203d27a258c99ffbb035143a3875ab184636
2017-05-01 20:52:11 +00:00
Tao Bao e58dabade9 Merge "adb_install: Stop passing RecoveryUI as a parameter." 2017-05-01 20:45:21 +00:00
Tao Bao 29ee69bf27 recovery: Change install_package() to take std::string.
Also change the parameter type for log_buffer from reference to pointer,
so the styles for parameters look consistent.

Test: mmma bootable/recovery
Test: sideload a package with the new recovery image
Change-Id: I8f25580ccf22977624648b3e2181cca44dd67c1b
2017-05-01 12:31:48 -07:00
Tao Bao 0150d013eb adb_install: Stop passing RecoveryUI as a parameter.
It's already a global declared in common.h which is included by
adb_install.cpp.

Remove '#include "minadbd/fuse_adb_provider.h"' that's not needed by
adb_install.cpp (minadbd takes care of that).

Test: mmma bootable/recovery
Change-Id: I6d08b7abc706b4b05de2ef46a57ced2204ad297e
2017-05-01 11:47:43 -07:00
Tao Bao d66f05b82c Merge "minui: Fix breakage in graphics_adf."
am: 54da112277

Change-Id: Ia65d9494373e6583325779a6fdd27e06dd01902a
2017-04-29 18:50:56 +00:00
Tao Bao 54da112277 Merge "minui: Fix breakage in graphics_adf." 2017-04-29 18:47:53 +00:00
Alistair Strachan 4697d8b11b minui: Fix breakage in graphics_adf.
When graphics_adf was refactored in 557fa1f, a class member was introduced
that was not initialized to zero. This meant that the first time Flip()
was called, current_surface would have a junk value and cause a bad
pointer rereference, crashing recovery.

Make sure current_surface is initialized to 0 for the first Flip().

Test: Ran recovery on a device using the ADF backend.
Change-Id: I9b8fac0a4d48cac990e5e9808a071c232de1ebfb
2017-04-28 16:13:02 -07:00
Tianjie Xu 00a309ab3e Merge "Fix potential OOM in update_verifier"
am: 5443072c3c

Change-Id: I8bfcd49c0a5f57149d6a87ecfb244273acff3208
2017-04-28 18:16:21 +00:00
Tianjie Xu 5443072c3c Merge "Fix potential OOM in update_verifier" 2017-04-28 18:03:24 +00:00
Dmitri Plotnikov 5b27cd1093 Merge "Adding support for quiescent reboot to recovery"
am: 0481faef77

Change-Id: I79e31282bd133e0de5b0f0601c5bc3bd728ddd64
2017-04-27 22:41:33 +00:00
Treehugger Robot 0481faef77 Merge "Adding support for quiescent reboot to recovery" 2017-04-27 22:34:16 +00:00
Tianjie Xu 8fa8f0b16c Fix potential OOM in update_verifier
Limit the size of each read to 1024 * BLOCKSIZE. (Same as the I/O limit
of each transfer command for block based OTA).

Bug: 37729708
Test: U_V sets slot successfully on sailfish, and it takes about ~20s
(no noticeable time increase)
Change-Id: I7a6cdc744fe4c0760e09e0afed75b89c16d8eac3
2017-04-27 14:22:40 -07:00
Tao Bao d8c078d2c6 Merge "Separate libupdate_verifier module and add testcases."
am: c99bb23955

Change-Id: Idfcde607838bbcae2930fbcc9108756296f4ca34
2017-04-27 21:18:47 +00:00
Tao Bao c99bb23955 Merge "Separate libupdate_verifier module and add testcases." 2017-04-27 21:08:54 +00:00
Tao Bao 74812187c0 Merge "libfusesideload: Clean up the CFLAGS for the module."
am: 416c55cf43

Change-Id: Ice50708eb27e01ecad729b0e05af77995b845e39
2017-04-27 18:31:19 +00:00
Tao Bao 416c55cf43 Merge "libfusesideload: Clean up the CFLAGS for the module." 2017-04-27 18:25:52 +00:00
Tao Bao 20126e1e28 libfusesideload: Clean up the CFLAGS for the module.
Remove "-DADB_HOST=0" since it doesn't include adb related stuff.

Test: mmma bootable/recovery
Test: sideload on marlin
Change-Id: Ia83a8edd31eedd803435d687513d561c873ffabe
2017-04-27 11:04:18 -07:00
Tao Bao 83b0780ddd Separate libupdate_verifier module and add testcases.
Enable -Wall and expose verify_image() for testing purpose.

Test: mmma bootable/recovery
Test: recovery_component_test
Change-Id: I1ee1db2a775bafdc1112e25a1bc7194d8d6aee4f
2017-04-27 08:57:23 -07:00
Tao Bao 22b1fa7d61 Merge "applypatch: Remove the obsolete support for "applypatch -s"."
am: d5ae4253c1

Change-Id: Ia790cb8dc24f356703dcad78bfc0f4bb7f0069e5
2017-04-26 16:56:44 +00:00
Tao Bao 282c863524 Merge "applypatch: Add determine the return value of ApplyDiffPatch and capture the error flow."
am: ac78ed8915

Change-Id: I7acad8d3ce6a71554e93d785e6a7e307e2c9f9fe
2017-04-26 16:56:32 +00:00
Tao Bao d5ae4253c1 Merge "applypatch: Remove the obsolete support for "applypatch -s"." 2017-04-26 16:49:48 +00:00
Tao Bao ac78ed8915 Merge "applypatch: Add determine the return value of ApplyDiffPatch and capture the error flow." 2017-04-26 16:49:08 +00:00
Tao Bao 8ab28082b7 applypatch: Remove the obsolete support for "applypatch -s".
The SpaceMode (applypatch -s) was used in amend script (cupcake) only,
which has been removed since commit
9ce2ebf5d300eba5f6086583b0941ef68a3e4b42 (platform/build). The later
(and current) edify script uses apply_patch_space().

Note that other modes (PatchMode, CheckMode) of applypatch executable
are mostly used by install-recovery.sh script.

Test: No active user of "applypatch -s".
Test: recovery_component_test
Change-Id: I1d689b7fedd3884077e88ed1d6c22f7a2198859d
2017-04-25 21:23:12 -07:00
Jinguang Dong 391bb7bb92 applypatch: Add determine the return value of ApplyDiffPatch and
capture the error flow.

Construct ota package which is bsdiff exception scene ,then do
simulation test, native code can not capture exception scenes.

Test: recovery_component_test
Test: Apply an bsdiff exception scene ota package.
Change-Id: Icd9f6eac78739bd35c74b9fcaaf8154335d680a5
2017-04-26 10:59:57 +08:00
Tao Bao f849ff34d4 Merge "minadbd: Fix a failing test due to SIGPIPE."
am: 7b1fffe095

Change-Id: I0feb7529e596a201fb0d683e5054d2b1b4227c1d
2017-04-25 18:29:29 +00:00
Tao Bao 7b1fffe095 Merge "minadbd: Fix a failing test due to SIGPIPE." 2017-04-25 18:23:54 +00:00
Tao Bao 79a0e98bb5 minadbd: Fix a failing test due to SIGPIPE.
Test: minadbd_test on bullhead.
Change-Id: Iab1c51ba8d3113a83e8b464c3640be770a6cda97
2017-04-25 09:37:20 -07:00