diff --git a/init/README.md b/init/README.md index 8d47e0a29..3a7c71c6c 100644 --- a/init/README.md +++ b/init/README.md @@ -482,9 +482,8 @@ Commands -f: force installation of the module even if the version of the running kernel and the version of the kernel for which the module was compiled do not match. -`load_all_props` -> Loads properties from /system, /vendor, et cetera. - This is included in the default init.rc. +`load_system_props` +> (This action is deprecated and no-op.) `load_persist_props` > Loads persistent properties when /data has been decrypted. diff --git a/init/builtins.cpp b/init/builtins.cpp index 4a66e46f1..43a520fb9 100644 --- a/init/builtins.cpp +++ b/init/builtins.cpp @@ -972,7 +972,7 @@ static Result do_load_persist_props(const BuiltinArguments& args) { } static Result do_load_system_props(const BuiltinArguments& args) { - load_system_props(); + LOG(INFO) << "deprecated action `load_system_props` called."; return Success(); } diff --git a/init/property_service.cpp b/init/property_service.cpp index 53288697d..3199d4501 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp @@ -699,22 +699,6 @@ static void update_sys_usb_config() { } } -void property_load_boot_defaults() { - if (!load_properties_from_file("/system/etc/prop.default", NULL)) { - // Try recovery path - if (!load_properties_from_file("/prop.default", NULL)) { - // Try legacy path - load_properties_from_file("/default.prop", NULL); - } - } - load_properties_from_file("/product/build.prop", NULL); - load_properties_from_file("/product_services/build.prop", NULL); - load_properties_from_file("/odm/default.prop", NULL); - load_properties_from_file("/vendor/default.prop", NULL); - - update_sys_usb_config(); -} - static void load_override_properties() { if (ALLOW_LOCAL_PROP_OVERRIDE) { load_properties_from_file("/data/local.prop", NULL); @@ -779,12 +763,29 @@ void load_recovery_id_prop() { close(fd); } -void load_system_props() { +void property_load_boot_defaults() { + // TODO(b/117892318): merge prop.default and build.prop files into one + // TODO(b/122864654): read the prop files from all partitions and then + // resolve the duplication by their origin so that RO and non-RO properties + // have a consistent overriding order. + if (!load_properties_from_file("/system/etc/prop.default", NULL)) { + // Try recovery path + if (!load_properties_from_file("/prop.default", NULL)) { + // Try legacy path + load_properties_from_file("/default.prop", NULL); + } + } + load_properties_from_file("/product/build.prop", NULL); + load_properties_from_file("/product_services/build.prop", NULL); + load_properties_from_file("/odm/default.prop", NULL); + load_properties_from_file("/vendor/default.prop", NULL); load_properties_from_file("/system/build.prop", NULL); load_properties_from_file("/odm/build.prop", NULL); load_properties_from_file("/vendor/build.prop", NULL); load_properties_from_file("/factory/factory.prop", "ro.*"); load_recovery_id_prop(); + + update_sys_usb_config(); } static int SelinuxAuditCallback(void* data, security_class_t /*cls*/, char* buf, size_t len) { diff --git a/rootdir/init.rc b/rootdir/init.rc index b34399d47..9b2096412 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -346,12 +346,6 @@ on late-init trigger boot on post-fs - # Load properties from - # /system/build.prop, - # /odm/build.prop, - # /vendor/build.prop and - # /factory/factory.prop - load_system_props start vold exec - system system -- /system/bin/vdc checkpoint markBootAttempt