Commit Graph
7512 Commits
Author SHA1 Message Date
Tao Bao 0813c01c8b Merge "recovery: Handle devices without /cache partition." am: 479d9dc2f2 am: f2726712ea
am: c36b919525

* commit 'c36b91952573dc632dfb855085a88303df583aab':
  recovery: Handle devices without /cache partition.
2016-03-04 20:32:45 +00:00
Tao Bao 558a1942c5 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES." am: f639490a51 am: 038c294453
am: d29a16afc7

* commit 'd29a16afc7918ee921a995950f31dd1d6be6823f':
  Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
2016-03-04 20:32:38 +00:00
Tao Bao d1e56b02e4 recovery: Handle devices without /cache partition.
am: ae6408d1a2

* commit 'ae6408d1a2edc9950a2bff3af448cddecc7adf13':
  recovery: Handle devices without /cache partition.
2016-03-04 20:29:06 +00:00
Tao Bao c36b919525 Merge "recovery: Handle devices without /cache partition." am: 479d9dc2f2
am: f2726712ea

* commit 'f2726712ea1e02fdabf595ece1cfeab9a6147386':
  recovery: Handle devices without /cache partition.
2016-03-04 20:28:38 +00:00
Tao Bao d29a16afc7 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES." am: f639490a51
am: 038c294453

* commit '038c294453865161680777f08ce7adbf42d8f6e3':
  Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
2016-03-04 20:28:30 +00:00
Tao Bao f2726712ea Merge "recovery: Handle devices without /cache partition."
am: 479d9dc2f2

* commit '479d9dc2f2601f5858726913e82aac69c1aa22d2':
  recovery: Handle devices without /cache partition.
2016-03-04 20:26:06 +00:00
Tao Bao 038c294453 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES."
am: f639490a51

* commit 'f639490a51655a4d372663e2f7000666748d7fda':
  Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
2016-03-04 20:25:59 +00:00
Tao Bao ae6408d1a2 recovery: Handle devices without /cache partition.
Since we may not have /cache partition on A/B devices, let recovery
handle /cache related operations gracefully if /cache doesn't exist.

(1) Disable the wipe for /cache partition.

(2) Skip wiping /cache while wiping /data (i.e. factory reset).

(3) Disable logging-related features, until we figure out better
ways / places to store recovery logs (mainly for factory resets on A/B
devices).

Bug: 27176738
Change-Id: I7b14e53ce18960fe801ddfc15380dac6ceef1198
(cherry picked from commit 26112e5870)
2016-03-04 12:23:10 -08:00
Tao Bao 479d9dc2f2 Merge "recovery: Handle devices without /cache partition." 2016-03-04 20:17:11 +00:00
Tao Bao f639490a51 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES." 2016-03-04 20:16:50 +00:00
Alex Deymo 2bdef0937a Merge "Restore labels on /postinstall during recovery." am: 60eae72ac6 am: f6ffefb116
am: 20bb31bbd3

* commit '20bb31bbd3a74667ff1da59ef4ead37d065dc80d':
  Restore labels on /postinstall during recovery.
2016-03-04 05:49:06 +00:00
Alex Deymo 20bb31bbd3 Merge "Restore labels on /postinstall during recovery." am: 60eae72ac6
am: f6ffefb116

* commit 'f6ffefb11690ca3604df7c8c0ddda74387d26eba':
  Restore labels on /postinstall during recovery.
2016-03-04 05:47:16 +00:00
Alex Deymo f6ffefb116 Merge "Restore labels on /postinstall during recovery."
am: 60eae72ac6

* commit '60eae72ac6c35567ea71035d379d4f2300cec77c':
  Restore labels on /postinstall during recovery.
2016-03-04 05:45:27 +00:00
Alex Deymo 60eae72ac6 Merge "Restore labels on /postinstall during recovery." 2016-03-04 05:40:14 +00:00
Tao Bao d79baad222 uncrypt: Communicate via /dev/socket/uncrypt. am: 3a2bb594df
am: 21c0054766

* commit '21c005476699a3892a3b5c16a1cd7a4907988c6b':
  uncrypt: Communicate via /dev/socket/uncrypt.
2016-03-04 01:26:59 +00:00
Tao Bao 21c0054766 uncrypt: Communicate via /dev/socket/uncrypt.
am: 3a2bb594df

* commit '3a2bb594df4b48c6afb1f029041dd6db0735de58':
  uncrypt: Communicate via /dev/socket/uncrypt.
2016-03-04 01:00:53 +00:00
Tao Bao d80a99883d Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
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
2016-03-03 14:52:44 -08:00
James Christopher Adduono fddbdfa45f Don't add subpartitions to restore list
Their parents will take care of them.
Good parents.

Fixes double restoration of subpartitions when they are
also set to backup in the recovery fstab.

Change-Id: I876c179135e0cb00754e9a8cfc8eac164c4b7fd4
2016-03-03 18:05:46 +01:00
Tao Bao 3a2bb594df uncrypt: Communicate via /dev/socket/uncrypt.
We used to rely on files (e.g. /cache/recovery/command and
/cache/recovery/uncrypt_status) to communicate between uncrypt and its
caller (i.e. system_server). Since A/B devices may not have /cache
partitions anymore, we switch to socket communication instead.

We will keep the use of /cache/recovery/uncrypt_file to indicate the OTA
package to be uncrypt'd though. Because there is existing logic in
ShutdownThread.java that depends on the existence of the file to
detect pending uncrypt works. This part won't affect A/B devices without
/cache partitions, because such devices won't need uncrypt service (i.e
the real de-encrypt work) anyway.

Bug: 27176738
Change-Id: I481406e09e3ffc7b80f2c9e39003b9fca028742e
2016-03-02 23:23:32 -08:00
Tianjie Xu 3c62b67faf Reboot and retry on I/O errors
When I/O error happens, reboot and retry installation two times
before we abort this OTA update.

Bug: 25633753
Change-Id: Iba6d4203a343a725aa625a41d237606980d62f69
2016-03-02 17:31:05 -08:00
Tao Bao 26112e5870 recovery: Handle devices without /cache partition.
Since we may not have /cache partition on A/B devices, let recovery
handle /cache related operations gracefully if /cache doesn't exist.

(1) Disable the wipe for /cache partition.

(2) Skip wiping /cache while wiping /data (i.e. factory reset).

(3) Disable logging-related features, until we figure out better
ways / places to store recovery logs (mainly for factory resets on A/B
devices).

Bug: 27176738
Change-Id: I7b14e53ce18960fe801ddfc15380dac6ceef1198
2016-03-02 15:33:32 -08:00
Alex Deymo 6bcc8af6e5 Restore labels on /postinstall during recovery.
This patch mirrors what was done in the main init.rc to relabel
/postinstall.

Bug: 27178350
Bug: 27177071
Change-Id: I39cd03f3c55a42c03367957e8c259c9a3155203c
2016-03-02 14:35:51 -08:00
James Christopher Adduono 6f57f7c601 Merge code from upstream libtar + bug fixes
All updates and fixes applied from upstream libtar as of
March 1, 2016.

Debug flag is disabled, however non-debug output now
provides 1 line of useful output per object extracted.

I've also merged some fixes from CyanogenMod's
fork of libtar:

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 11 Feb 2016 16:24:40 -0800
Subject: libtar: Cleanup, secure, and extend numeric fields
Commit: e18b457ea1cbf6be1adc3b75450ed1c737cd82ea

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 11 Feb 2016 12:49:30 -0800
Subject: libtar: Make file sizes 64-bit clean
Commit: e628c2025549a24018bc568351465130a05daafb

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 17 Apr 2014 09:39:25 -0700
Subject: libtar: Add methods for in-memory files
Commit: 8ec5627a8ff0a91724c6d5b344f0e887da922527

From: Tom Marshall <tdm@cyngn.com>
Date: Wed, 2 Jul 2014 09:34:40 -0700
Subject: libtar: Fix hardlink extract
Commit: 166d83a51e0c51abcea37694dbd7df92d03c1f56

From: philz-cwm6 <phytowardt@gmail.com>
Date: Sat, 26 Apr 2014 01:11:35 +0200
Subject: libtar: Various bug fixes and enhancements
Commit: a271d763e94235ccee9ecaabdb52bf4b9b2f8c06
(Some of this was not merged in, as better solutions were
available from upstream libtar)

From: Tom Marshall <tdm@cyngn.com>
Date: Wed, 9 Apr 2014 09:35:54 -0700
Subject: libtar: Add const qualifiers to reduce compile warnings
Commit: 0600afa19fe827d06d3fcf24a7aabd52dbf487b4

Change-Id: I6d008cb6fdf950f835bbed63aeb8727cc5c86083
2016-03-02 13:04:11 -06:00
Mattias Nissler 4934bb7e85 Merge "Remove dumpkey build guards after completing code move." am: 5ffc038be6 am: ea0e0faae6
am: c4d143356e

* commit 'c4d143356ef1a406bb641b2f1504ab72f083a6bd':
  Remove dumpkey build guards after completing code move.
2016-03-01 16:42:22 +00:00
Mattias Nissler c4d143356e Merge "Remove dumpkey build guards after completing code move." am: 5ffc038be6
am: ea0e0faae6

* commit 'ea0e0faae6c0e57deb1a53683b00ff4651a65502':
  Remove dumpkey build guards after completing code move.
2016-03-01 16:38:50 +00:00
Mattias Nissler ea0e0faae6 Merge "Remove dumpkey build guards after completing code move."
am: 5ffc038be6

* commit '5ffc038be6cffd9155fce4f2212ff351415ee7ba':
  Remove dumpkey build guards after completing code move.
2016-03-01 11:48:54 +00:00
Mattias Nissler 5ffc038be6 Merge "Remove dumpkey build guards after completing code move." 2016-03-01 11:46:27 +00:00
The Android Automerger c2a6d98328 merge in nyc-release history after reset to nyc-dev 2016-03-01 00:00:39 -08:00
Prashant Malani 08bae03c94 Merge "Fixes to wear recovery for N" into nyc-dev am: 9db7964834
am: 30f368fde0

* commit '30f368fde096a746d5ac407754955691abfc48b7':
  Fixes to wear recovery for N
2016-02-29 23:02:44 +00:00
Prashant Malani 30f368fde0 Merge "Fixes to wear recovery for N" into nyc-dev
am: 9db7964834

* commit '9db7964834694e10ce0945e17ac7fefc066d8deb':
  Fixes to wear recovery for N
2016-02-29 22:59:30 +00:00
Prashant Malani 9db7964834 Merge "Fixes to wear recovery for N" into nyc-dev 2016-02-29 22:56:30 +00:00
Matt Mower 64ffe730a6 Unix file endings and remove execute permission
Change-Id: Iceaae3f7f20c3c6f23da807786b4cf4739c887c9
2016-02-29 17:14:17 +01:00
that b9d8f62c26 minuitwrp: retry opening fb0 if it failed
On some devices TWRP tries to access the framebuffer before all
device nodes have been created. Retry opening instead of crashing later.

Change-Id: I189a8fe80a8906b46fb6cece53c0bf83c00c0e09
2016-02-29 17:10:00 +01:00
Ethan Yonker 98ebdafe52 Fix verifier_test build
Some people insist on running make without specifying any target
like recoveryimage or otapackage, which triggers a build of
verifier_test, so this fix will keep people from asking about
this build error anymore.

Change-Id: Ic955b7a3fb2599894e712fd8b418227da240d288
2016-02-29 15:24:45 +01:00
Ethan Yonker a60c78602d Remove busybox modprobe to fix slow performance for some devices
bionic process initialization calls personality
(specifically personality-8)
personality wants to load a kernel module
loading a kernel module calls /sbin/modprobe
loading /sbin/modprobe is a bionic process initialization
bionic process initialization calls personality
personality wants to load a kernel module
loading a kernel module calls /sbin/modprobe . . .

Before you know it, it takes 0.5 seconds to do anything.
Note: modprobe is still technically available, but the symlink
has been removed, so you can still call it directly by running
busybox modprobe if you like.

From what I can tell, this issue only affects 32 bit devices
with CONFIG_MODULES=y in the defconfig. The problem can be also
patched out of the kernel by commenting or otherwise removing
the block of code in kernel/exec_domain.c inside the CONFIG_MODULES
ifdef block

It is also possible to patch the problem in bionic libc by commenting
out or otherwise removing the __initialize_personality in bionic/libc/
bionic/libc_init_common.cpp file.

Change-Id: Iebac314616080ac18320d73b087980ac1b98b951
2016-02-29 15:22:48 +01:00
The Android Automerger 44dfc6d2e3 merge in nyc-release history after reset to nyc-dev 2016-02-29 00:00:12 -08:00
Tao Bao 4d88a5d8f4 Merge "uncrypt: Retire pre-recovery service." into nyc-dev am: 65f35b5c35
am: bc11dd8b7c

* commit 'bc11dd8b7c675ff21ca505d9d67154f04d2862a9':
  uncrypt: Retire pre-recovery service.
2016-02-28 18:47:55 +00:00
Tao Bao bc11dd8b7c Merge "uncrypt: Retire pre-recovery service." into nyc-dev
am: 65f35b5c35

* commit '65f35b5c3513571c179974829eb93ba069693d2b':
  uncrypt: Retire pre-recovery service.
2016-02-28 18:46:29 +00:00
Tao Bao 65f35b5c35 Merge "uncrypt: Retire pre-recovery service." into nyc-dev 2016-02-28 18:44:38 +00:00
Prashant Malani 0eb41c3f37 Fixes to wear recovery for N
Bug: 27336841

Change-Id: If4632e9791cce2c39590a4012687271f59a60af1
2016-02-26 17:01:37 -08:00
Mattias Nissler b66f047d41 Remove dumpkey build guards after completing code move.
Bug: 27326256
Change-Id: Ia713b23e3c898c1f10af7c61ea67f34601fdcbe3
2016-02-26 11:20:18 +01:00
Mattias Nissler 25fb74bc83 Merge "Move dumpkey tool to the recovery repo." am: 5197fde242 am: b652678953
am: 95b96d98ca

* commit '95b96d98caf6dbaefcfe7b52ba35d27babd70245':
  Move dumpkey tool to the recovery repo.
2016-02-26 08:22:01 +00:00
Mattias Nissler 95b96d98ca Merge "Move dumpkey tool to the recovery repo." am: 5197fde242
am: b652678953

* commit 'b652678953f1ff3920bebdd97836eda061a9a36b':
  Move dumpkey tool to the recovery repo.
2016-02-26 08:19:34 +00:00
Mattias Nissler b652678953 Merge "Move dumpkey tool to the recovery repo."
am: 5197fde242

* commit '5197fde242e00d6ee112896846da8d0be6303c56':
  Move dumpkey tool to the recovery repo.
2016-02-26 08:18:02 +00:00
Mattias Nissler 5197fde242 Merge "Move dumpkey tool to the recovery repo." 2016-02-26 08:16:34 +00:00
Paul Lawrence ddcbb8ec9c Move recovery's convert_fbe folder to /tmp
The cache folder is no longer available at this time

Bug: 27355824
Change-Id: I74e33266c1ff407364981b186613f81319dd22dc
2016-02-25 14:27:45 -08:00
Paul Lawrence e048f0ba7f Move recovery\'s convert_fbe folder to /tmp am: 661f8a69f2
am: 8c3922f4ab

* commit '8c3922f4ab9755180d42e3f8162590892a029247':
  Move recovery's convert_fbe folder to /tmp
2016-02-25 21:45:00 +00:00
Paul Lawrence 8c3922f4ab Move recovery\'s convert_fbe folder to /tmp
am: 661f8a69f2

* commit '661f8a69f2b12f3244deed664ab69a9d2efad7fb':
  Move recovery's convert_fbe folder to /tmp
2016-02-25 21:37:01 +00:00
Paul Lawrence 661f8a69f2 Move recovery's convert_fbe folder to /tmp
The cache folder is no longer available at this time

Bug: 27355824
Change-Id: I74e33266c1ff407364981b186613f81319dd22dc
2016-02-25 13:07:16 -08:00
Matt Mower 9a561dd2b3 partitions: Fix path based Find_Next_Storage
If a path is specified for Find_Next_Storage() and datamedia is
excluded, the function currently runs to the end of available
partitions and reports no other storage is available. Fix this by
restoring the original mount_point == search_path check to break the
loop. The subsequent partitions loop will skip data-media storage as
needed.

Change-Id: I92baed866cd36f13d851bd58ba5346e47edb142e
2016-02-24 15:03:25 -06:00