summaryrefslogtreecommitdiffstats
path: root/rootdir
diff options
context:
space:
mode:
authorPaul Lawrence <paullawrence@google.com>2015-07-01 14:40:56 -0700
committerPaul Lawrence <paullawrence@google.com>2015-07-07 13:23:19 -0700
commit948410a4936fda5348304af9711db932926bcc1a (patch)
tree818c20f6659135757abe766fa08724324d899250 /rootdir
parent8104616696ac5e806b16a393ea02c4f5d8efc328 (diff)
downloadsystem_core-948410a4936fda5348304af9711db932926bcc1a.zip
system_core-948410a4936fda5348304af9711db932926bcc1a.tar.gz
system_core-948410a4936fda5348304af9711db932926bcc1a.tar.bz2
Change init sequence to support file level encryption
File level encryption must get the key between mounting userdata and calling post_fs_data when the directories are created. This requires access to keymaster, which in turn is found from a system property. Split property loaded into system and data, and load in right order. Bug: 22233063
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/init.rc15
1 files changed, 11 insertions, 4 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 7af2b77..bdc89a6 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -181,8 +181,11 @@ on property:sys.boot_from_charger_mode=1
trigger late-init
# Load properties from /system/ + /factory after fs mount.
-on load_all_props_action
- load_all_props
+on load_system_props_action
+ load_system_props
+
+on load_persist_props_action
+ load_persist_props
start logd
start logd-reinit
@@ -195,12 +198,16 @@ on late-init
trigger early-fs
trigger fs
trigger post-fs
- trigger post-fs-data
# Load properties from /system/ + /factory after fs mount. Place
# this in another action so that the load will be scheduled after the prior
# issued fs triggers have completed.
- trigger load_all_props_action
+ trigger load_system_props_action
+
+ # Now we can mount /data. File encryption requires keymaster to decrypt
+ # /data, which in turn can only be loaded when system properties are present
+ trigger post-fs-data
+ trigger load_persist_props_action
# Remove a file to wake up anything waiting for firmware.
trigger firmware_mounts_complete