Commit Graph
657 Commits
Author SHA1 Message Date
Doug ZongkerandDoug Zongker 4db31d20c9 allow CheckKey to request mounting /system
Also provide a default implementation of CheckKey that's reasonable
for many devices (those that have power and volume keys).

Change-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8
2014-03-11 14:19:48 -07:00
Doug ZongkerandGerrit Code Review ea868b3846 Merge "change how recovery animation is implemented" 2014-03-11 21:18:56 +00:00
Doug ZongkerandDoug Zongker 469954fe3d change how recovery animation is implemented
Instead of one 'base' installing image and a number of overlay images
that are drawn on top of it, we represent the installing animation
with one PNG that contains all the animation frames, interlaced by
row.  The PNG is expected to have a text chunk with the keyword
'Frames' and a value that's the number of frames (as an ascii
string).  This representation provides better compression, removes the
need to subclass ScreenRecoveryUI just to change the position of the
overlay or number of frames, and doesn't require gr_blit() to support
an alpha channel.

We also remove the 'indeterminate' progress bar used when wiping data
and/or cache.  The main animation serves the same purpose (showing
that the device is still alive); the spinning progress bar has been
redundant for a while.

This changes the default recovery animation to include the
antenna-wiggling and gear-turning that's used in the Nexus 5 recovery
animation.

Change-Id: I51930a76035ac09969a25472f4e572b289418729

Conflicts:
	screen_ui.cpp
	screen_ui.h
2014-03-11 14:06:35 -07:00
Doug ZongkerandGerrit Code Review 2f173bde65 Merge "ADB sideload command not work" 2014-02-26 22:17:57 +00:00
Benoit GobyandGerrit Code Review ac189bf645 Merge "recovery: Fix adb with linux 3.10" 2014-02-20 22:32:32 +00:00
Benoit Goby 1b9641127c recovery: Fix adb with linux 3.10
In kernel 3.10, f_adb has been removed and adbd can use functionfs
instead. Mount functionfs on boot for adbd. On older kernels, mount
will fail silently and adbd will revert to f_adb.

Change-Id: I5db57aaf35b35859ea88c7d0e0661d8c553e5811
2014-02-19 17:48:49 -08:00
Colin CrossandGerrit Code Review a5d105e239 Merge "recovery: fix building with pointer-to-int errors turned on" 2014-02-06 02:14:22 +00:00
Colin Cross 92cdf9c372 recovery: fix building with pointer-to-int errors turned on
Use intptr_t/uintptr_t to cast between pointer and int to allow
building with -Werror=pointer-to-int-cast and
Werror=int-to-pointer-cast turned on.

Cast to char* instead of unsigned int for pointer arithmetic.

Change-Id: Ia862306fdcca53866b330e8cf726f3d62f2248a0
2014-02-05 17:34:45 -08:00
Colin CrossandGerrit Code Review f353207298 Merge "minadbd: remove dead code" 2014-01-27 20:35:19 +00:00
Colin Cross e787fee8f2 minadbd: remove dead code
Change-Id: Ia1f34a17ae582575f8cd3514ed7bc015b0a5006e
2014-01-24 14:51:54 -08:00
Nick KralevichandGerrit Code Review 295e74aa20 Merge "adbd: switch to su domain when running as root" 2014-01-24 17:59:52 +00:00
Nick Kralevich c52c5b8e3d adbd: switch to su domain when running as root
When adbd runs as root, it should transition into the
su domain. This is needed to run the adbd and shell
domains in enforcing on userdebug / eng devices without
breaking developer workflows.

Use the new device_banner command line option.

Change-Id: Ib33c0dd2dd6172035230514ac84fcaed2ecf44d6
2014-01-18 09:22:50 -08:00
Da ZhouandPierre Couillaud 65ad928602 ADB sideload command not work
In kernel(3.10) USB ADB gadget driver is removed.
Using Functionfs for USB adb gadget.

Android recovery uses a stripped down version
of adb command for sideload only. It's missing
the ffs function support, so add the ffs
support to allow sideload command to work

b/12608946

Change-Id: I4ad024723dfc5bdb544548391f99637c390b171e
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2014-01-17 14:23:48 -08:00
Doug ZongkerandGerrit Code Review 772f6e2a88 Merge "correctly mount tmpfs as /tmp in recovery" 2014-01-14 18:14:12 +00:00
Doug Zongker 075ef327d4 correctly mount tmpfs as /tmp in recovery
The syntax of init's mount command changed in April 2008 but
recovery's init.rc was never updated, so recovery's /tmp has been on
the root fs all this time.  Fix.

Also add /system/bin to the PATH in recovery, which is handy for
debugging.

Change-Id: I39f7ae435a8ce3bad691e4b7c307db0bd8de1302
2014-01-14 09:50:35 -08:00
Nick KralevichandGerrit Code Review fc72951237 Merge "Set SELinux security contexts correctly for init and services." 2014-01-13 19:47:21 +00:00
Stephen Smalley 2c9d5b2839 Set SELinux security contexts correctly for init and services.
Otherwise everything is left running in the kernel domain when
booting recovery.

Change-Id: Ie3d86547d5be0b68dd1875a97afe1e00fc3e4da1
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-01-13 14:00:36 -05:00
Nick KralevichandGerrit Code Review 617d1cadc6 Merge "minui: do not use flexible array initialization" 2014-01-04 01:47:56 +00:00
synergy dev a0ecc8c427 minui: do not use flexible array initialization
Avoiding the use of gnu extensions improves code portability

Change-Id: I441a49ce08b6ecb1d735ca453552fa92026c5016
2013-11-26 03:21:13 +00:00
Michael RungeandAndroid Git Automerger 40dfc474c4 am c64e76c7: Merge "Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add." into klp-dev
* commit 'c64e76c75088b951f61a7f7bacf8af6eccd2ccfa':
  Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
2013-11-07 15:00:42 -08:00
Michael RungeandAndroid (Google) Code Review c64e76c750 Merge "Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add." into klp-dev 2013-11-07 22:55:51 +00:00
Michael Runge ce7ca7165b Enable incremental builder to find files that moved, and
try to process them via patch + rename, instead of
delete + add.

b/11437930

Change-Id: I984349fbc9a8dac4379e00c0d66fc7d22c4eb834
2013-11-07 12:29:14 -08:00
Ed HeylandAndroid Git Automerger a370c0f7fe am 3966c571: merge in klp-release (no-op)
* commit '3966c571a0c36a40a8142e70b1aa6de547ea6ec3':
2013-10-16 17:44:12 -07:00
Ed Heyl 3966c571a0 merge in klp-release (no-op) 2013-10-16 17:34:54 -07:00
Kenny RootandAndroid Git Automerger fc7eab961f am f4a6ab27: Merge "Add support for ECDSA signatures"
* commit 'f4a6ab27b335b69fbc419a9c1ef263004b561265':
  Add support for ECDSA signatures
2013-10-14 14:08:21 -07:00
Kenny RootandGerrit Code Review f4a6ab27b3 Merge "Add support for ECDSA signatures" 2013-10-14 21:04:56 +00:00
Kenny Root 7a4adb5268 Add support for ECDSA signatures
This adds support for key version 5 which is an EC key using the NIST
P-256 curve parameters. OTAs may be signed with these keys using the
ECDSA signature algorithm with SHA-256.

Change-Id: Id88672a3deb70681c78d5ea0d739e10f839e4567
2013-10-10 14:19:19 -07:00
Ed HeylandAndroid Git Automerger 053c1c5e89 am 7fdeb1f9: merge in KQS81M
* commit '7fdeb1f9d7c1e979ebf78725bbf000bcb8c6ffc3':
  Don't apply permission changes to symlink.
  recovery: fix use of init reboot method
2013-10-08 15:45:46 -07:00
Ed Heyl 7fdeb1f9d7 merge in KQS81M 2013-10-08 15:35:29 -07:00
The Android Automerger 91321f60ae merge in klp-release history after reset to klp-dev 2013-10-03 06:01:22 -07:00
Michael RungeandAndroid Git Automerger efef45ede6 am a2a1ce82: Allow child classes to override the overlay location for the update image.
* commit 'a2a1ce823b8c76451ee2b38155b347b0c2ced714':
  Allow child classes to override the overlay location for the update image.
2013-10-02 17:00:24 -07:00
Michael Runge a2a1ce823b Allow child classes to override the overlay location for the
update image.

b/10952479

Change-Id: I59bb834f271f702fb529054dab7926b816fa35cc
2013-10-02 16:31:07 -07:00
Kenny RootandAndroid Git Automerger dd92a4d625 am 58c60900: Merge "verifier: update to support certificates using SHA-256"
* commit '58c60900ac3682fab08f64373bdd1020713b48f7':
  verifier: update to support certificates using SHA-256
2013-09-25 10:19:33 -07:00
Kenny RootandGerrit Code Review 58c60900ac Merge "verifier: update to support certificates using SHA-256" 2013-09-25 17:14:59 +00:00
Doug ZongkerandKenny Root 30362a6ad1 verifier: update to support certificates using SHA-256
(cherry picked from commit bac7fba027)

Change-Id: I01c38d7fea088622a8b0bbf2c833fa2d969417af
2013-09-25 10:11:46 -07:00
Nick Kralevich 46ab1b6138 updater: Delete dead code
set_perm and set_perm_recursive are no longer used. Delete.

(cherry picked from commit 08ef9a9570)

Change-Id: I1bcc90ae19af9df4f0705496c5876987159f75ac
2013-09-17 10:20:45 -07:00
The Android Automerger c287321e9c merge in klp-release history after reset to klp-dev 2013-09-12 06:00:47 -07:00
Doug ZongkerandAndroid Git Automerger 1306a7effa am cc2958fd: fix secure adb in recovery
* commit 'cc2958fd7f32f79d1a034eee005e04afeb310a87':
  fix secure adb in recovery
2013-09-11 13:39:03 -07:00
Doug Zongker cc2958fd7f fix secure adb in recovery
Recovery's init.rc was missing a line (added to the main system's
init.rc in change Ic97fd464440ff4a29fc9da7ad15949ac5215ade3) is
required for secure adb to work.

Change-Id: Id79b94d2abb4cbe3cca7cabeb4bc5faf7205e56b
2013-09-11 13:24:32 -07:00
Nick KralevichandThe Android Automerger d456944f02 Don't apply permission changes to symlink.
Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
2013-09-10 17:13:23 -07:00
Nick KralevichandAndroid Git Automerger af677d786e am e461251e: Don\'t apply permission changes to symlink.
* commit 'e461251e2caa5561cf6a315bffaebfd4eb896b1d':
  Don't apply permission changes to symlink.
2013-09-10 15:50:08 -07:00
Nick Kralevich e461251e2c Don't apply permission changes to symlink.
Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
2013-09-10 15:34:19 -07:00
The Android Automerger c4a3a4bcc8 merge in klp-release history after reset to klp-dev 2013-09-10 14:28:02 -07:00
Nick KralevichandAndroid Git Automerger cc421662d7 am 5dbdef0e: updater: introduce and set_metadata and set_metadata_recursive
* commit '5dbdef0e5b8a841fadc64d016d10ce81a962b284':
  updater: introduce and set_metadata and set_metadata_recursive
2013-09-10 11:18:24 -07:00
Nick KralevichandAndroid Git Automerger 5ae88e8998 am 3328e3bc: Revert "Update OTA installer to understand SELinux filesystem labels"
* commit '3328e3bc81161c2a57ea94d304162276facdd826':
  Revert "Update OTA installer to understand SELinux filesystem labels"
2013-09-10 11:18:24 -07:00
Nick Kralevich 5dbdef0e5b updater: introduce and set_metadata and set_metadata_recursive
Introduce two new updater functions:

* set_metadata
* set_metadata_recursive

Long term, these functions are intended to be more flexible replacements
for the following methods:

* set_perm
* set_perm_recursive

Usage:

  set_metadata("filename", "key1", "value1", "key2", "value2", ...)
  set_metadata_recursive("dirname", "key1", "value1", "key2", "value2", ...)

Description:

set_metadata() and set_metadata_recursive() set the attributes on a file/directory
according to the key/value pairs provided. Today, the following keys are
supported:

* uid
* gid
* mode (set_perm_extd only)
* fmode (set_perm_extd_recursive only)
* dmode (set_perm_extd_recursive only)
* selabel
* capabilities

Unknown keys are logged as warnings, but are not fatal errors.

Examples:

* set_metadata("/system/bin/netcfg", "selabel", "u:object_r:system_file:s0");

This sets the SELinux label of /system/bin/netcfg to u:object_r:system_file:s0.
No other changes occur.

* set_metadata("/system/bin/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);

This sets /system/bin/netcfg to uid=0, gid=3003, mode=02750,
selinux label=u:object_r:system_file:s0, and clears the capabilities
associated with the file.

* set_metadata_recursive("/system", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);

All files and directories under /system are set to uid=0, gid=0,
and selinux label=u:object_r:system_file:s0. Directories are set to
mode=0755.  Files are set to mode=0644 and all capabilities are cleared.

Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: Ifdcf186a7ed45265511dc493c4036e1ac5e3d0af
2013-09-10 10:24:24 -07:00
Nick Kralevich 3328e3bc81 Revert "Update OTA installer to understand SELinux filesystem labels"
This reverts commit 627eb30f73.

Bug: 10183961
Bug: 10186213
2013-09-09 10:47:14 -07:00
Doug ZongkerandThe Android Automerger 15ae0e7867 recovery: fix use of init reboot method
We need to set the system property to "reboot,", not an empty string.

Bug: 10605007
Change-Id: I776e0d273764cf254651ab2b25c2743395b990e0
2013-09-03 15:17:18 -07:00
Doug ZongkerandAndroid Git Automerger f187a5438d am 3b5a987c: recovery: fix use of init reboot method
* commit '3b5a987cd7fd76c038e9875b430028216d21ace3':
  recovery: fix use of init reboot method
2013-09-03 14:46:26 -07:00
Doug Zongker 3b5a987cd7 recovery: fix use of init reboot method
We need to set the system property to "reboot,", not an empty string.

Bug: 10605007
Change-Id: I776e0d273764cf254651ab2b25c2743395b990e0
2013-09-03 14:29:54 -07:00