diff options
-rw-r--r-- | init/builtins.cpp | 4 | ||||
-rw-r--r-- | init/init_parser.cpp | 2 | ||||
-rw-r--r-- | init/keywords.h | 4 | ||||
-rw-r--r-- | init/property_service.cpp | 8 | ||||
-rw-r--r-- | init/property_service.h | 2 | ||||
-rw-r--r-- | rootdir/init.rc | 12 |
6 files changed, 17 insertions, 15 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp index 64a363e..9e5f9ff 100644 --- a/init/builtins.cpp +++ b/init/builtins.cpp @@ -803,9 +803,9 @@ int do_load_persist_props(int nargs, char **args) { return -1; } -int do_load_system_props(int nargs, char **args) { +int do_load_all_props(int nargs, char **args) { if (nargs == 1) { - load_system_props(); + load_all_props(); return 0; } return -1; diff --git a/init/init_parser.cpp b/init/init_parser.cpp index 0f0c88e..666a86e 100644 --- a/init/init_parser.cpp +++ b/init/init_parser.cpp @@ -159,7 +159,7 @@ static int lookup_keyword(const char *s) case 'l': if (!strcmp(s, "oglevel")) return K_loglevel; if (!strcmp(s, "oad_persist_props")) return K_load_persist_props; - if (!strcmp(s, "oad_system_props")) return K_load_system_props; + if (!strcmp(s, "oad_all_props")) return K_load_all_props; break; case 'm': if (!strcmp(s, "kdir")) return K_mkdir; diff --git a/init/keywords.h b/init/keywords.h index ddaaffb..e637d7d 100644 --- a/init/keywords.h +++ b/init/keywords.h @@ -34,7 +34,7 @@ int do_chown(int nargs, char **args); int do_chmod(int nargs, char **args); int do_loglevel(int nargs, char **args); int do_load_persist_props(int nargs, char **args); -int do_load_system_props(int nargs, char **args); +int do_load_all_props(int nargs, char **args); int do_verity_load_state(int nargs, char **args); int do_verity_update_state(int nargs, char **args); int do_wait(int nargs, char **args); @@ -66,7 +66,7 @@ enum { KEYWORD(installkey, COMMAND, 1, do_installkey) KEYWORD(ioprio, OPTION, 0, 0) KEYWORD(keycodes, OPTION, 0, 0) - KEYWORD(load_system_props, COMMAND, 0, do_load_system_props) + KEYWORD(load_all_props, COMMAND, 0, do_load_all_props) KEYWORD(load_persist_props, COMMAND, 0, do_load_persist_props) KEYWORD(loglevel, COMMAND, 1, do_loglevel) KEYWORD(mkdir, COMMAND, 1, do_mkdir) diff --git a/init/property_service.cpp b/init/property_service.cpp index 52f6b98..c2881ae 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp @@ -560,10 +560,16 @@ void load_recovery_id_prop() { close(fd); } -void load_system_props() { +void load_all_props() { load_properties_from_file(PROP_PATH_SYSTEM_BUILD, NULL); load_properties_from_file(PROP_PATH_VENDOR_BUILD, NULL); load_properties_from_file(PROP_PATH_FACTORY, "ro.*"); + + load_override_properties(); + + /* Read persistent properties after all default values have been loaded. */ + load_persistent_properties(); + load_recovery_id_prop(); } diff --git a/init/property_service.h b/init/property_service.h index 303f251..a27053d 100644 --- a/init/property_service.h +++ b/init/property_service.h @@ -23,7 +23,7 @@ extern void property_init(void); extern void property_load_boot_defaults(void); extern void load_persist_props(void); -extern void load_system_props(void); +extern void load_all_props(void); extern void start_property_service(void); void get_property_workspace(int *fd, int *sz); extern int __property_get(const char *name, char *value); diff --git a/rootdir/init.rc b/rootdir/init.rc index b25a371..3353c64 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -181,8 +181,8 @@ on property:sys.boot_from_charger_mode=1 trigger late-init # Load properties from /system/ + /factory after fs mount. -on load_system_props_action - load_system_props +on load_all_props_action + load_all_props start logd start logd-reinit @@ -195,16 +195,12 @@ 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_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 + trigger load_all_props_action # Remove a file to wake up anything waiting for firmware. trigger firmware_mounts_complete |