From e48aed0f0abd10cb21e14d81ae46214d08872f79 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 11 May 2015 14:08:18 -0700 Subject: [PATCH] Change pre-recovery into two services /system/bin/uncrypt needs to be triggered to prepare the OTA package before rebooting into the recovery. Separate pre-recovery (uncrypt) into two services: uncrypt that does the uncryption work and pre-recovery that actually reboots the device into recovery. Also create /cache/recovery on post-fs in case it doesn't exist. Bug: 20012567 Bug: 20949086 Change-Id: If67fe1e9ee6279593d2788452febcd3f0fe714c2 --- rootdir/init.rc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/rootdir/init.rc b/rootdir/init.rc index d44f98bf8..8452567cd 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -197,9 +197,9 @@ on post-fs # We restorecon /cache in case the cache partition has been reset. restorecon_recursive /cache - # This may have been created by the recovery system with odd permissions - chown system cache /cache/recovery - chmod 0770 /cache/recovery + # Create /cache/recovery in case it's not there. It'll also fix the odd + # permissions if created by the recovery system. + mkdir /cache/recovery 0770 system cache #change permissions on vmallocinfo so we can grab it from bugreports chown root log /proc/vmallocinfo @@ -652,7 +652,12 @@ service mdnsd /system/bin/mdnsd disabled oneshot -service pre-recovery /system/bin/uncrypt +service uncrypt /system/bin/uncrypt + class main + disabled + oneshot + +service pre-recovery /system/bin/uncrypt --reboot class main disabled oneshot