init: import init rc scripts from file systems after mount_all

Import /{system,vendor,odm}/etc/init/... after file systems are mounted

Bug: 23186545
Change-Id: Idb0cae9773f904c0330054c8b3e31eb87b2fb7cb
This commit is contained in:
Tom Cherry 2015-07-22 14:23:33 -07:00
parent cb716f976b
commit b8dd0272e5

View file

@ -427,6 +427,19 @@ static int wipe_data_via_recovery()
while (1) { pause(); } // never reached
}
void import_late()
{
static const std::vector<std::string> init_directories = {
"/system/etc/init",
"/vendor/etc/init",
"/odm/etc/init"
};
for (const auto& dir : init_directories) {
init_parse_config(dir.c_str());
}
}
/*
* This function might request a reboot, in which case it will
* not return.
@ -478,6 +491,8 @@ int do_mount_all(const std::vector<std::string>& args)
return -1;
}
import_late();
if (ret == FS_MGR_MNTALL_DEV_NEEDS_ENCRYPTION) {
property_set("vold.decrypt", "trigger_encryption");
} else if (ret == FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED) {