diff options
author | Paul Lawrence <paullawrence@google.com> | 2015-07-01 14:40:56 -0700 |
---|---|---|
committer | Paul Lawrence <paullawrence@google.com> | 2015-07-07 13:23:19 -0700 |
commit | 948410a4936fda5348304af9711db932926bcc1a (patch) | |
tree | 818c20f6659135757abe766fa08724324d899250 /rootdir | |
parent | 8104616696ac5e806b16a393ea02c4f5d8efc328 (diff) | |
download | system_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.rc | 15 |
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 |